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

Вниз

помогите с интерфейсом проги   Найти похожие ветки 

 
denis24   (2003-10-13 15:49) [0]

Слева treeview .Справа надо разная куча контролов при выборе веток.Как это сделать сто бы при выборе разных веток одни контролы появлялись а другие исчезали?


 
Skier ©   (2003-10-13 15:52) [1]

TPageControl ?


 
Романов Р.В. ©   (2003-10-13 15:53) [2]

В событии TreeView OnChange удаляешь одни контролы и создаешь другие


 
pasha_golub ©   (2003-10-13 16:03) [3]

2denis24
А сколько разных типов веток предусмотрено?


 
ZEE ©   (2003-10-13 16:19) [4]

<одни контролы>.Show
<другие>.Hide
:)


 
MHO   (2003-10-13 16:23) [5]

TFrame.Show|Hide


 
Zhouck ©   (2003-10-13 16:54) [6]

>>TFrame.Show|Hide
Не так.

type
TFrameClass = class of TFrame;

MainFrame: TFrame;

procedure TFormMain.ShowFrame(FrameClass: TClass;ParentPanel:TWinControl);
begin
//запретить прорисовку контейнера фреймов
LockWindowUpdate(ParentPanel.Handle);
//если фрейм не пуст, очистить его
if(MainFrame<>nil) then
MainFrame.Free();
//создать фрейм по его типу
MainFrame:=TFrameClass(FindClass(FrameClass.ClassName)).Create(FormMain);
MainFrame.Parent:=ParentPanel;
MainFrame.Align:=alClient;
//разрешить прорисовку контейнера фреймов
LockWindowUpdate(0);
end;

И далее

ShowFrame(TFrame1,Panel1);/ShowFrame(TFrame2,Panel1); etc


 
MHO   (2003-10-13 18:04) [7]

Какая разница? Хочешь - создавай, хочешь - прячь.

Только название процедурки-то должно быть CreateFrame, так оно для людёв понятнее.
Кроме того:
1. TFrameClass - кто такой? class of TFrame?
2. А где RegisterClass(%FrameClass)? - ведь ругаться будэ.
3. Достаточно прямого приведения MainFrame := TFrame(TFormClass((FrameClass)).Create(FormMain)), не нужны нам FindClass"ы.


 
MHO   (2003-10-13 18:11) [8]

PS. А обращаться как TFrameXX(MainFrame).Button1.Caption := "Не очень-то удобно, не так ли?". Разумеется если они не потомки одного базового тфрейма.


 
Zhouck ©   (2003-10-13 18:39) [9]

>>TFrameClass - кто такой? class of TFrame?
Указано ясно
type
TFrameClass = class of TFrame;

Hide/Show это интересно, но если 15 Frames? Делать 14 hide, а 1 show? А так у нас один фрейм, который может принимать различные типы.
Обращаться просто
if MainFrame.ClassName="TFrame1" then
with MainFrame as TFrame1 do



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

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

Наверх




Память: 0.48 MB
Время: 0.029 c
11-74105
asp
2003-02-07 08:24
2003.10.23
установка KOL &MCK


1-74229
Raptorus
2003-10-09 15:51
2003.10.23
Уважаемые, Мастера. Подскажите как из TList записать в TListBox


1-74252
avkniazev
2003-10-13 13:29
2003.10.23
Поиск слова в RichEdit


14-74376
Knight
2003-10-02 22:34
2003.10.23
Кто какие журналы читает?


1-74127
Fast
2003-10-11 12:42
2003.10.23
Синхронизация