0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 60
1

Если в контекстном меню popupmenu динамически создаются подменю

25.04.2014, 22:41. Показов 1457. Ответов 2
Метки нет (Все метки)

Как узнать имя нажатого подменю
Вот фрагмент программы создания динамических подменю
for i:=1 to k do
begin
SubItem := TMenuItem.Create(PopupMenu1);
s1:=DataModule2.ADOQuery1.fieldbyname('FirstName').AsString;
s2:=DataModule2.ADOQuery1.fieldbyname('Midname').AsString;
delete(s1,2,length(s1));
delete(s2,2,length(s2));
SubItem.Caption :=DataModule2.ADOQuery1.fieldbyname('Surname').AsString +' '+uppercase(s1)+'.'+uppercase(s2)+'.';
DataModule2.DataSource1.DataSet.Next;
n11.Add(SubItem);
SubItem.OnClick := MyClick;
j:=j+1;
end;
и по событию нажатия на подменю нужно узнать имя нажатой подменю
procedure TForm4.Myclick(Sender: TObject);
begin
...
end;
Примечание: Во фрагменте не обращайте внимания на некоторые строки в коде, в частности s1 и s2
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.04.2014, 22:41
Ответы с готовыми решениями:

Что было нажато в динамически созданном контекстном меню?
Здравствуйте, подскажите пожалуйста, я написал такой вот код public void...

Как динамически создавать меню и подменю?
Как динамически создавать меню и подменю? Пробовал поработать с функцией CreateMenu, но не...

Popupmenu подменю
Здравствуйте, форумчане :) Имеется процедура, в которой пункты popupmenu добавляются из adotable. ...

PopupMenu копия подменю
Есть несколько PopupMenu, у каждого разное меню, но подменю у всех одинаковое. Так вот, как мне...

2
Наблюдатель
457 / 192 / 33
Регистрация: 01.05.2012
Сообщений: 1,028
25.04.2014, 22:46 2
На память вам не скажу. Если вам ни кто не подскажет, то копать надо в сторону переменной Sender.

Добавлено через 1 минуту
PS если вам так ни кто ни чего и не подскажет, то завтра могу подумать, а сейчас спать.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31261 / 20434 / 7967
Регистрация: 22.10.2011
Сообщений: 35,484
Записей в блоге: 6
25.04.2014, 22:48 3
Лучший ответ Сообщение было отмечено mlisaf как решение

Решение

Delphi
1
2
3
4
procedure TForm4.Myclick(Sender: TObject);
begin
    ShowMessage((Sender as TMenuItem).Caption); // Покажет тебе, что было нажато
end;
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.04.2014, 22:48

Как узнать активное подменю в popupmenu ?
Я создаю динамическое подменю, а потом по событию onclick мне нужно узнать на какое подменю я нажал.

Как сделать каскадное меню в контекстном меню Internet Explorer
Доброго времени суток уважаемые форумчане! Подскажите как сделать каскадное меню в контекстном...

Меню поиска в контекстном меню Windows 7
Привет! У меня такая проблема. Я работаю с текстовыми файлами, которые находятся в разных папках....

MenuStrip: обратиться к динамически созданным подменю
Доброго времени суток всем. Есть MenuStrip1 на форме. У него есть пункт Файл, а в нем пункт...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.