Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.018 c
7-74502
ossa
2003-07-31 09:47
2003.10.23
Вопрос для знатоков, кто работал с RASAP?I


1-74232
PavelOKES
2003-10-09 13:13
2003.10.23
Почему прога много занимает памяти?


1-74245
race1
2003-10-12 15:33
2003.10.23
алгоритм Литтла


8-74334
Mihey
2003-06-21 00:50
2003.10.23
Эффект explode.


1-74258
Lam
2003-10-13 10:08
2003.10.23
ini файл




   Наверх