Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.25;
Скачать: CL | DM;

Вниз

Как в Outlook   Найти похожие ветки 

 
Iddqd   (2004-04-05 10:22) [0]

Как организовать интерфейс subj. Т.е панель меню слева и рабочая панель alClient. При выборе пункта меню меняется рабочая область.
Пока сделал просто на панелях, меняя им свойства visible и align.
Но это не очень удобно при разработке. Прочитал в советах Озерова такое решение:

Использовать отдельные формы, которые создаются и уничтожаются в зависимости от щелчка пользователя на соответствующей закладке. Вот основные шаги для достижения цели:

Во-первых, каждой дочерней форме необходимо задать ее параметры создания как показано ниже:



   ...
private
{ Private declarations }
PROCEDURE CreateParams(VAR Params: TCreateParams); override;
...
procedure TForm2.CreateParams(VAR Params: TCreateParams);
begin
Inherited CreateParams(Params);
with Params do begin
WndParent := Application.MainForm.Handle;
Style := (Style OR WS_CHILD) AND NOT (WS_POPUP);
end;
end;


Свойство дочерней формы BorderStyle должно быть установлено в bsNone. В главной форме создайте закрытое поле данных с типом TForm. Инициализируйте его при наступлении события OnActivate, НЕ OnCreate. Теперь при каждом щелчке на закладке "смены страниц" освобождаем текущую дочернюю форму и создаем новую необходимого типа. Например, при наступлении события OnActivate:


Child := TForm2.Create(Self);
with Child do begin
 Parent := Self;
 Align := alClient;
 Visible := True;
end;


Когда вы создаете дочернюю страницу при нажатиях на закладках, делайте это так, как показано выше. Естественно, вам понадобиться использовать главную форму для хранения данных о состоянии элементов управления дочернего окна, поскольку при его освобождении данные теряются.


Но у меня не получается его использовать, постоянно выдает ошибки доступа... Подскажите пожалуйста верное решение


 
TUser ©   (2004-04-05 11:19) [1]

В jedi есть 2 компонента для организации Outlook-like Panel


 
iddqd   (2004-04-05 13:51) [2]

Что это jedi?



Страницы: 1 вся ветка

Текущий архив: 2004.04.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.049 c
3-1080386347
TGrey
2004-03-27 14:19
2004.04.25
Как убрать диалог ввода пароля при подключении к Access?


3-1080139064
Виктор
2004-03-24 17:37
2004.04.25
Как в dxDBGrid-е вывалить програмно ExtLookupColumn


1-1081102370
tivispider
2004-04-04 22:12
2004.04.25
Как в командной строке скомпилировать проект?


3-1080790223
Badboy
2004-04-01 07:30
2004.04.25
Заполнение


6-1074854474
Виталий
2004-01-23 13:41
2004.04.25
SendCmd, TidPOP3