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

Вниз

Помогите заполнить дерево из меню   Найти похожие ветки 

 
dim- ©   (2002-08-28 01:44) [0]

Помогите заполнить дерево или ini файл элементами из главного меню


 
Степан   (2002-08-28 06:17) [1]

Какое дерево?


 
Dimich1978 ©   (2002-08-28 09:08) [2]

Как я понял ты хочешь заполнить дерево считывая данные из меню?
Это довольно легко вот тебе кусок кода, правда там все тягается из БД, но ты легко можешь это исправить. Может чем поможет
procedure TForm1.Image1Click(Sender: TObject);
var
MyTreeNode1: TTreeNode;
i:integer;
apchar:array[0..500] of char;
j:integer;
Icon: HICON;
YIcon:ticon;
NewIconIndex: Integer;
ChildNode: TTreeNode;
begin
table1.Active:=false;
table2.active:=false;
table1.Active:=true;
table2.active:=true;
{Вот где все заполняется}
with TreeView1.Items do
begin
Clear;
for i:=1 to table1.RecordCount do begin
MyTreeNode1 := Add(nil, table1.Fields[1].asstring);
for j:=1 to table2.RecordCount do begin
ChildNode:=AddChild(MyTreeNode1,table2.Fields[1].asstring);
strpcopy(apchar,table2.fields[4].asstring);
{А здесь еще и иконка вылавливается из файла, но тебе это не пригодится}
Icon := ExtractIcon(HInstance,apchar,0);
YIcon := TIcon.Create;
YIcon.Handle := icon;
imagelist1.AddIcon(YIcon);
ChildNode.ImageIndex := imagelist2.AddIcon(YIcon);
table2.next;
end;
table1.next;
end;
end;
end;



 
Степан   (2002-08-28 09:58) [3]

procedure SaveItemToNode(AItem: TMenuItem; ANode: TTreeNode; ATree: TTreeView);
var
NewNode: TTreeNode;
i: Integer;
begin
NewNode := ATree.Items.AddChild(ANode, AItem.Caption);
for i := 0 to AItem.Count - 1 do
SaveItemToNode(AItem.Items[i], NewNode, ATree);
end;

procedure SaveMenuToTree(AMenu: TMainMenu; ATree: TTreeView);
var
i: Integer;
begin
with ATree.Items do begin
BeginUpdate;
Clear;
for i := 0 to AMenu.Items.Count - 1 do
SaveItemToNode(AMenu.Items[i], nil, ATree);
EndUpdate;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
SaveMenuToTree(Menu, Tree);
end;


 
dim- ©   (2002-08-28 10:03) [4]

Если как "Степан" сделать то поместятся только "Файл","Правка" и т.д., а то что находится в них т.е. "Открыть Файл", "Сохранить файл" не попадут


 
Степан   (2002-08-28 11:17) [5]

>dim-
Поместится все меню, посмотри внимательнее код.



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
1-27068
Hanson3003
2002-08-28 09:39
2002.09.09
Меня обидел C-онист.


1-27036
BLooDMaN
2002-08-27 16:53
2002.09.09
Динамическое создание Popupmenu


4-27276
Ильдар
2002-07-18 13:55
2002.09.09
узнать IPадрес


14-27196
Sten
2002-08-12 00:28
2002.09.09
Подскажите компАнет....плииииз


4-27257
star
2002-07-08 12:44
2002.09.09
Как сделать скриншот формы до ее появления на экране