Форум: "Основная";
Текущий архив: 2004.01.23;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c