Форум: "Основная";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];
ВнизКакой компонент выбрать для создания окна "Настройки" Найти похожие ветки
← →
leonidus (2004-11-29 15:02) [0]Вопрос в следующем, надо сделать окно с настройками программы, оно состоит из двух частей, левой где лежит обычный TreeView, и при выборе какого-то узла из него в правой части отображается панель с настройками данной группы. Раньше когда групп было четыре я просто создавал 4 TPanel и в процессе работы программы одну панель делал visible:=true, а остальные false, но во-первых это криво, во вторых очень не удобно на этапе конструирования, т.к. что бы отредактировать контрол на какой-то панели эту панель надо вытащить из под других и сделать ее "поверх всех". А сейчас панелей штук 8, следовательно надо менять технологую. PageControl и TabControl не подходят. Подскажите у кого какие идеи есть.
← →
Юрий Зотов © (2004-11-29 16:04) [1]PageControl. Закладки спрятать. Удобно, просто и не криво.
← →
jack128 © (2004-11-29 18:12) [2]Юрий Зотов © (29.11.04 16:04) [1]
> Удобно, просто и не криво, но жрет память
Мне больше нравится такой вариант(код взят из демки к VirtualTreeView и немного переделан):
//
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
var
NewDemoClass: TFormClass;
begin
if not Assigned(Node) then Exit;
case Integer(Node.Data) of
0:
NewDemoClass := TSpeedForm;
1:
NewDemoClass := TGeneralForm;
2:
NewDemoClass := TPropertiesForm;
3:
NewDemoClass := TVisibilityForm;
5:
NewDemoClass := TGridForm;
6:
NewDemoClass := TDrawTreeForm;
7:
NewDemoClass := TAlignForm;
8:
NewDemoClass := TWindowsXPForm;
9:
NewDemoClass := TNodeForm;
10:
NewDemoClass := THeaderOwnerDrawForm;
else
NewDemoClass := nil;
end;
FreeAndNil(DemoForm); // DemoForm - ссылка на текущую форму демки (в твоем случае - этот будет форма настроек)
if Assigned(NewDemoClass) then
begin
DemoForm := NewDemoClass.Create(Self);
DemoForm.Hide;
DemoForm.BorderStyle := bsNone;
DemoForm.Parent := ContainerPanel; // ContainerPanel - это просто пустая панель
DemoForm.Align := alClient;
DemoForm.Visible := True;
end;
end;
← →
leonidus (2004-12-01 13:47) [3]>Юрий а как можно спрятази закладки в run-time ?
← →
leonidus (2004-12-01 13:48) [4]т.е. как спрятать закладки, я хотел спросить?
← →
leonidus (2004-12-01 15:13) [5]все понял, всем спасибо
← →
alles © (2004-12-01 15:30) [6]А почему не сделать как в Опрре? В левой стороне ListBox а в правом Panel или PageControl.
← →
leonidus (2004-12-02 08:10) [7]Можно и ListBox, это не принципиально важно было что бы в правой части были легко управляемые панели. Я воспользовался советом Юрия Зотова, большое спасибо ему и всем ответившим.
← →
TButton © (2004-12-02 08:23) [8]а мне дуже нравится
TNoteBook
из закладки Win 3.1
дуже гарная штука
← →
leonidus (2004-12-03 10:39) [9]:)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.032 c