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

Вниз

Динамическое создание меню   Найти похожие ветки 

 
KOLBoss ©   (2007-11-17 15:20) [0]

Подскажите как это зделать
Пробывал но даже скомпилить не смог
PopupMenu1.AddItem(ACaption, Event, TMenuOptions);
что нухно писать в TMenuOptions
и как реолезовать событие
зарание благодарен.


 
KOLBoss ©   (2007-11-17 17:59) [1]

Всё разобрался

type
procedure Event(Sender: PMenu; Item: Integer);
...
PopupMenu1.AddItem("ACaption", Event, []);


 
Danger ©   (2007-11-17 18:28) [2]

Если пункты меню не изменяются во время выполнения программы - посмотрите создание меню в уроке №7 "Программа в треe с легкостью" из цикла уроков по KOL/MCK, и делайте меню в рантайме, примерно как там описано. В примерах тоже может есть.

Если надо добавить пункт в уже существующее меню, тогда примерно так:

procedure TForm1.Button1Click(Sender: PObj);
begin
PM.AddItem( "My Item",  TOnMenuItem( MakeMethod( nil, @TForm1.OnMyItemClicked ) ), [ ] );
end;

procedure TForm1.OnMyItemClicked(Sender : PMenu; Item : Integer );
begin
msgOk( " Message " );
end;


 
D[u]fa ©   (2007-11-17 18:51) [3]

а зачем OnMenuItem( MakeMethod( nil, @TForm1.OnMyItemClicked ) ) в данном случае мона просто OnMyItemClicked


 
Danger ©   (2007-11-17 20:06) [4]


> D[u]fa ©   (17.11.07 18:51) [3]
> а зачем OnMenuItem( MakeMethod( nil, @TForm1.OnMyItemClicked
> ) ) в данном случае мона просто OnMyItemClicked

Да, конечно ;) Я взял кусок из старого проекта, запостил и потом только заметил, что не выкинул лишнее (в оригинале обработчиком была процедура - не метод объекта формы). Спохватился, но так как работало, второй раз писать не стал.



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
2-1222845582
Armond
2008-10-01 11:19
2008.11.09
Поиск в гриде


2-1222684547
zdm
2008-09-29 14:35
2008.11.09
Перевод Ф.И.О. в верхний регистр


15-1221569168
oldman
2008-09-16 16:46
2008.11.09
Кто из Нижнего, помяните товарища.


8-1187616856
Иванн
2007-08-20 17:34
2008.11.09
разделить окружность на равные доли


6-1194920910
Net3
2007-11-13 05:28
2008.11.09
Научите, пожалуйста, скачивать файлы через прокси?