Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Динамическое создание MenuItem-ов в PopupMenu [D6, WinXP]


Z-man7777 ©   (2003-02-12 08:29:00) 

Здравствуйте, много Уважаемые Мастера!!!
Есть проблемка:
нужно динамически (в режиме run-time) создать MenuItem-ы в PopupMenu с неопределенный кол-вом вложеных пунктов.
Кто располагает какой-нибуть информацией - помогите ПОЖАЛУЙСТА или укажите, где можно найти доку на эту тему.
Заранее СПАСИБО!!!


Anatoly Podgoretsky   (2003-02-12 09:28:00) [1]

Z-man7777 (12.02.03 08:52)
А там нет?


neXt   (2003-02-12 09:10:00) [2]

ну вот юнит, тут вроде всё есть

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Menus;

type
TForm1 = class(TForm)
TreeView1: TTreeView;
Button1: TButton;
Button2: TButton;
Button3: TButton;
PopupMenu1: TPopupMenu;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
tn: TTreeNode;
mi: TMenuItem;
begin
mi := TMenuItem.Create(Self);
mi.Caption := Edit1.Text;
PopupMenu1.Items.Add(mi);
//-----------------------------------------
tn := TTreeNode.Create(TreeView1.Items);
TreeView1.Items.AddObject(tn,Edit1.Text,mi);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
tn: TTreeNode;
mi: TMenuItem;
begin
If TreeView1.Selected = nil then Exit;
mi := TMenuItem.Create(Self);
mi.Caption := Edit1.Text;
TMenuItem(TreeView1.Selected.Data).Add(mi);
//-----------------------------------------
tn := TTreeNode.Create(TreeView1.Items);
TreeView1.Items.AddChildObject(TreeView1.Selected,Edit1.Text,mi);
TreeView1.Selected.Expand(True);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
If TreeView1.Selected = nil then Exit;
TMenuItem(TreeView1.Selected.Data).Free;
//-----------------------------------------
TreeView1.Selected.Delete;
end;

end.


neXt   (2003-02-12 09:08:00) [3]

Дай почту, пример пришлю.


Z-man7777   (2003-02-12 08:52:00) [4]

MBo
Если бы там было это...


MBo   (2003-02-12 08:48:00) [5]

хелп TMenuItem поможет


Наверх

Титульная страница Поиск, карта сайта Написать письмо