Главная страница
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.098 c
1-1081235063
jenbond
2004-04-06 11:04
2004.04.25
Проблемма со сборкой проекта


3-1080199108
Rio
2004-03-25 10:18
2004.04.25
DBLookupComboBox


1-1081159093
Checist [root]
2004-04-05 13:58
2004.04.25
Вытащить сылку из .lnk файла


4-1074855067
mr.Tim
2004-01-23 13:51
2004.04.25
еще раз про хуки (анти-кейлоггеры)


14-1081092670
RealRascal
2004-04-04 19:31
2004.04.25
Как не вызывая ошибки узнать, что экземпляр класса создан