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

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

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

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

Сообщение Naumoff » 20.03.2017 13:09:51

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

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

Сообщение Снег Север » 20.03.2017 13:15:26

Табы
Аватара пользователя
Снег Север
энтузиаст
 
Сообщения: 968
Зарегистрирован: 27.11.2007 16:14:47

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

Сообщение Naumoff » 20.03.2017 18:45:23

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

На каком то этапе их перестало хватать. Сейчас из кучи разных фреймов на форме пользователь сам выбирает необходимый ему их набор, отображая или скрывая нужный фрейм. Фреймы расположены горизонтально на скроллбоксе. Весьма удобно. А табы позволяют отображать в данный момент какую то одну информацию. Табы остались, группируя схожие элементы.
Naumoff
новенький
 
Сообщения: 11
Зарегистрирован: 13.08.2016 19:32:20

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

Сообщение Лекс Айрин » 20.03.2017 19:23:36

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.

Только вторую форму лучше создавать динамически, так меньше геморроя.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4181
Зарегистрирован: 19.02.2013 16:54:51

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

Сообщение pupsik » 20.03.2017 20:01:13

Naumoff flowpanel ?
pupsik
энтузиаст
 
Сообщения: 1017
Зарегистрирован: 20.08.2014 16:20:13

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

Сообщение WAYFARER » 20.03.2017 20:32:07

Аватара пользователя
WAYFARER
постоялец
 
Сообщения: 427
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

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

Сообщение Naumoff » 21.03.2017 11:20:17

Всем большое спасибо.
Набросал свой компонент, на базе панели и SpeedButton`a. Весь нужный мне функционал уместился в сотню строк кода, без никаких таймеров и прочего мусора, что обнаружился в TMyRollOut.
Лекс Айрин
Идея с деревом и фреймами как в настройках Лазаря очень понравилась. Выкинуть все табы, организовать иерархическую структуру, да еще динамически, в зависимости от уже отображенных данных... Мощно. Количество отображаемой информации в таком случае вообще ничем не ограничено. Скорее всего в будущем так и сделаю.
Naumoff
новенький
 
Сообщения: 11
Зарегистрирован: 13.08.2016 19:32:20

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

Сообщение Лекс Айрин » 21.03.2017 11:50:51

Naumoff, это напрашивалось само)))
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4181
Зарегистрирован: 19.02.2013 16:54:51

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

Сообщение sign » 22.03.2017 06:54:16

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

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

1.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
sign
энтузиаст
 
Сообщения: 883
Зарегистрирован: 30.08.2009 09:20:53

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

Сообщение Лекс Айрин » 22.03.2017 09:46:05

signвообще-то, я имел в виду привязку. Чисто при ограничении размера, можно круто попасть на полуобрезанные контролы.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4181
Зарегистрирован: 19.02.2013 16:54:51


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 5

Рейтинг@Mail.ru