Компонент сворачиваемая панель

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Naumoff
новенький
Сообщения: 11
Зарегистрирован: 13.08.2016 18:32:20

Компонент сворачиваемая панель

Сообщение Naumoff »

Собственно ищу сабж. Перевод проекта с Delphi. На Delphi пользовался компонентом Framebar из пакета Альфаконтролс.
На Лазаре из достойных нашел только TMyRollOut, да и тот глючный до безобразия, когда их несколько на форме.
Или может есть другие методы компактного размещения кучи таблиц/панелей на одной форме ограниченного размера?
Naumoff
новенький
Сообщения: 11
Зарегистрирован: 13.08.2016 18:32:20

Re: Компонент сворачиваемая панель

Сообщение Naumoff »

Снег Север писал(а):Табы

На каком то этапе их перестало хватать. Сейчас из кучи разных фреймов на форме пользователь сам выбирает необходимый ему их набор, отображая или скрывая нужный фрейм. Фреймы расположены горизонтально на скроллбоксе. Весьма удобно. А табы позволяют отображать в данный момент какую то одну информацию. Табы остались, группируя схожие элементы.
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Re: Компонент сворачиваемая панель

Сообщение Лекс Айрин »

Naumoff, а кто вообще запрещает использовать, допустим, обычный GroupBox (панель/фрейм ets...), но программно зафиксировав его высоту? Добиться этого не так уж сложно,даже для стандартных компонент. А для перемещения всегда найдется компонент картинка.
Если нужна скрываемая панель, то ее легко имитировать, например, при помощи обычных панелей и сплитера (еще проще через TpairSplitter)
И, кстати, если перестало хватать табов, то, имхо, что-то в датском королевстве неладно. Попробуй скомпоновать фреймы с деревом, как в настройках Lazarus.
ЗЫ: Попробуйте самый тупой вариант

Код: Выделить всё

unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs;

type
  TForm1 = class(TForm)
  private

  public

  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

end.
     

Код: Выделить всё

unit Unit2;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs;

type

  { TForm2 }

  TForm2 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private

  public

  end;

var
  Form2: TForm2;

implementation
Uses unit1;
{$R *.lfm}

{ TForm2 }

procedure TForm2.FormCreate(Sender: TObject);
begin
  Form2.Parent:=Form1;
end;

end.

Только вторую форму лучше создавать динамически, так меньше геморроя.
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Re: Компонент сворачиваемая панель

Сообщение pupsik »

Naumoff flowpanel ?
Naumoff
новенький
Сообщения: 11
Зарегистрирован: 13.08.2016 18:32:20

Re: Компонент сворачиваемая панель

Сообщение Naumoff »

Всем большое спасибо.
Набросал свой компонент, на базе панели и SpeedButton`a. Весь нужный мне функционал уместился в сотню строк кода, без никаких таймеров и прочего мусора, что обнаружился в TMyRollOut.
Лекс Айрин
Идея с деревом и фреймами как в настройках Лазаря очень понравилась. Выкинуть все табы, организовать иерархическую структуру, да еще динамически, в зависимости от уже отображенных данных... Мощно. Количество отображаемой информации в таком случае вообще ничем не ограничено. Скорее всего в будущем так и сделаю.
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Re: Компонент сворачиваемая панель

Сообщение Лекс Айрин »

Naumoff, это напрашивалось само)))
sign
энтузиаст
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Re: Компонент сворачиваемая панель

Сообщение sign »

Лекс Айрин писал(а): а кто вообще запрещает использовать, допустим, обычный GroupBox (панель/фрейм ets...), но программно зафиксировав его высоту? Добиться этого не так уж сложно,даже для стандартных компонент. А для перемещения всегда найдется компонент картинка.

Не просто не сложно, а просто очень просто.

1.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Re: Компонент сворачиваемая панель

Сообщение Лекс Айрин »

signвообще-то, я имел в виду привязку. Чисто при ограничении размера, можно круто попасть на полуобрезанные контролы.
Ответить