![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Звязать TreeView и MainMenu [D7, WinXP]
Николай1 © (2005-09-06 14:24:00)Народ некто не пробовал раньше связать MainMenu c TreeView, Хочю сделать дерево меню для более быстрой работы но как незнаю
Подскажите кто чем может. Зарание спасибо.
begin...end (2005-09-06 16:02:00) [1]> Николай1
procedure TMyForm.AddMenuItemToTree(MenuItem: TMenuItem; ParentNode: TTreeNode);
var
I: Integer;
NewParentNode: TTreeNode;
begin
NewParentNode := TreeView.Items.AddChild(ParentNode, StripHotKey(MenuItem.Caption));
if MenuItem.Count > 0 then
for I := 0 to Pred(MenuItem.Count) do
AddMenuItemToTree(MenuItem.Items[I], NewParentNode)
end;
procedure TMyForm.Button1Click(Sender: TObject);
var
I: Integer;
begin
for I := 0 to Pred(MainMenu.Items.Count) do
AddMenuItemToTree(MainMenu.Items[I], nil)
end
Eraser (2005-09-06 15:33:00) [2]Николай1 (06.09.05 15:26) [7]
А зачем текущий ItemIndex нужен? (если такой вообще имеется).
В цикле проходи по всем итемам TMenuItem'a и для каждого вызывай текущую процедуру.
Николай1 (2005-09-06 15:26:00) [3]А какое свойство возвращает текущий ItemIndex
Eraser (2005-09-06 15:14:00) [4]Николай1 (06.09.05 15:09) [5]
Текущий TMenuItem конечно.
Николай1 (2005-09-06 15:09:00) [5]Прости а неподскажешь что передавать как параметр Функции
Николай1 (2005-09-06 14:41:00) [6]Ок Попробуем
Eraser (2005-09-06 14:40:00) [7]Проёдись рекурсией по TMenuItem.Items.
Николай1 (2005-09-06 14:35:00) [8]Дак этото я и так понимаю мне надо чтобы при запуске программы на основе MainMnu создавался TreeView с такимже деревом как и в MinMnu Я незнаю как сделать обход Main_mnu чтобы сделать дерево
Eraser (2005-09-06 14:32:00) [9]Николай1 (06.09.05 14:24)
Хочю сделать дерево меню
Это как?
Меню итак поддерживает иерархию.