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

Вниз

PopMenu   Найти похожие ветки 

 
ORMADA ©   (2004-01-14 07:30) [0]

Как глобально узнать № пункта меню, кторый был нажат не обрабатывая каждый в отдельности.


 
TUser ©   (2004-01-14 07:46) [1]

Взять его Caption и пробежать по всем Item"ам - сравнить с этим Caption"ом. Где совпадет - там и есть нужный тебе номер.


 
Романов Р.В. ©   (2004-01-14 07:53) [2]

У пункта меню нет номера. Можно назначить всем пунктам один обработчик.


 
REP ©   (2004-01-14 07:59) [3]

Типа (Sender as TMenuItem)


 
ORMADA ©   (2004-01-14 08:00) [4]

Я понимаю что назначить всем пунктам один обработчик но надо то узнать какой пункт был выбран !


 
Романов Р.В. ©   (2004-01-14 08:12) [5]

procedure TForm1.MenuItem1Click(Sender: TObject);
begin
ShowMessage(TMenuItem(Sender).Caption);
end;


 
REP ©   (2004-01-14 08:21) [6]

ShowMessage(TMenuItem(Sender).Name);
Тогда убирай "N" из имени и вот тебе номер (если русские Caption иначе имя берется из него)


 
TUser ©   (2004-01-14 08:36) [7]

2 Романов Р.В. © (14.01.04 07:53) [2]
У пункта меню есть номер. Вот как его получить
procedure TForm1.N11Click(Sender: TObject);
var s:string;
i:integer;
begin
s:=(Sender as TMenuItem).Caption;
i:=0;
while popupMenu1.Items[i].Caption<>s do
inc (i);
showMessage(inttostr(i));
end;


 
Zerglin   (2004-01-14 08:47) [8]

Можно и через Caption, а я к Tag-ам привык :)

if Sender is TMenuItem then
Case TMenuItem(Sender).Tag of
0: ... ;
1: ... ;
end;


 
Романов Р.В. ©   (2004-01-14 09:16) [9]


> TUser © (14.01.04 08:36) [7]


Этот номер может менятся. Так что привязываться к нему не рекомендую


 
asp ©   (2004-01-14 11:06) [10]

ORMADA © > На это тебе даётся Sender. Приводи его к TMenuItem ( Sender as TMenuItem ) и вперёд.



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

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

Наверх




Память: 0.48 MB
Время: 0.022 c
3-72665
gandrei
2003-12-25 13:22
2004.01.23
extended stored procedures


9-72616
pavel_k
2003-07-06 00:37
2004.01.23
Ошибка в игре Access violation


14-72880
Evgeniy_K
2003-12-28 11:29
2004.01.23
Dll в памяти.


3-72654
Evgeny78
2003-12-26 10:38
2004.01.23
Тип поля Memo


1-72797
user
2004-01-13 08:33
2004.01.23
Как программно разбить в excel клетку попалам по диагонали ???