Главная страница
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.043 c
6-74358
Infinity1
2003-08-24 23:21
2003.10.23
Как получить данные POSTDATA из TWebBroweser ?


1-74285
Efim
2003-10-12 17:52
2003.10.23
разрешение экрана


3-74076
3APA3A
2003-10-01 23:02
2003.10.23
Почему не открывается?


1-74251
Александр М.
2003-10-12 18:50
2003.10.23
TreeView


1-74161
nikkkk
2003-10-10 10:36
2003.10.23
!!! Как перевести HEX в десятиричную систему !!!