-
KOLBoss © (17.11.07 15:20) [0]Подскажите как это зделать
Пробывал но даже скомпилить не смогPopupMenu1.AddItem(ACaption, Event, TMenuOptions);
что нухно писать в TMenuOptions
и как реолезовать событие
зарание благодарен. -
KOLBoss © (17.11.07 17:59) [1]Всё разобрался
type
procedure Event(Sender: PMenu; Item: Integer);
...
PopupMenu1.AddItem('ACaption', Event, []); -
Danger © (17.11.07 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 © (17.11.07 18:51) [3]а зачем OnMenuItem( MakeMethod( nil, @TForm1.OnMyItemClicked ) ) в данном случае мона просто OnMyItemClicked
-
Danger © (17.11.07 20:06) [4]
> D[u]fa © (17.11.07 18:51) [3]
> а зачем OnMenuItem( MakeMethod( nil, @TForm1.OnMyItemClicked
> ) ) в данном случае мона просто OnMyItemClicked
Да, конечно ;) Я взял кусок из старого проекта, запостил и потом только заметил, что не выкинул лишнее (в оригинале обработчиком была процедура - не метод объекта формы). Спохватился, но так как работало, второй раз писать не стал.