Форум: "Основная";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];
ВнизMenu Найти похожие ветки
← →
qwe (2003-11-11 16:25) [0]Создаю пункт меню
NewItem:=TMenuItem.Create(MainForm);
MainMenu1.Items.Add(NewItems);
а как сделать реакцию на его нажатие
← →
stone (2003-11-11 16:27) [1]procedure ItemClick(Sender: TObject);
begin
...
end;
NewItem.OnClick := ItemClick;
← →
qwe (2003-11-11 16:42) [2]а Sender кто
← →
qwe (2003-11-11 16:44) [3][Error] FMainForm.pas(76): Incompatible types: "TNotifyEvent" and "procedure, untyped pointer or untyped parameter"
← →
mOOx_ (2003-11-11 16:49) [4]Потому-что
TNotifyEvent = procedure (Sender: TObject) of Object ;
То-есть
procedure TAnyObject.ItemClick(Sender: TObject);
begin
...
end;
← →
qwe (2003-11-11 17:20) [5]NewItem1.OnClick := ItemClick;
NewItem2.OnClick := ItemClick;
внутри процедуры можно узнать кто вызвал ItemClick
← →
mOOx_ (2003-11-11 17:28) [6](Sender as TMenuItem).Name
← →
qwe (2003-11-11 17:33) [7]procedure TMainForm.ItemClick(Sender: TObject);
var
S: string;
begin
S:=(Sender as TMenuItem).Name;
end;
получаю "" в обоих случаях, что то не правильно делаю
← →
Silver Alex (2003-11-11 17:53) [8]вобщем все вышеприведенное правильно.Что то ты еще наверное "делаешь не правильно"
← →
Игорь Шевченко (2003-11-11 17:54) [9]qwe (11.11.03 16:25)
Создаю пункт меню
NewItem:=TMenuItem.Create(MainForm);
qwe (11.11.03 17:33) [7]
procedure TMainForm.ItemClick(Sender: TObject);
var
S: string;
begin
S:=(Sender as TMenuItem).Name;
end;
получаю "" в обоих случаях, что то не правильно делаю
NewItem:=TMenuItem.Create(MainForm);
NewItem.Name:="BlahBlah";
← →
Ave (2003-11-11 19:23) [10]2qwe,
а если попробовать так:
s := TMenuItem(Sender).Name
← →
Ave (2003-11-11 19:24) [11]Хотя это одно и то же.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c