Главная страница
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.01 c
2-1222748643
Johnnnnnn
2008-09-30 08:24
2008.11.09
Проблема с all.tags(string?????) ?


2-1222850931
Nameziz
2008-10-01 12:48
2008.11.09
внутрипроцессный COM-сервер


2-1222777697
MyTypeToStr
2008-09-30 16:28
2008.11.09
как перевести перечислимый тип в строку?


15-1221054900
Синий палец
2008-09-10 17:55
2008.11.09
переходник для PCMCIA


6-1194968418
artkil
2007-11-13 18:40
2008.11.09
Прокси