![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Динамическое создание 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 поможет