Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2008.11.09;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "KOL";
Текущий архив: 2008.11.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.004 c
2-1222865303
White
2008-10-01 16:48
2008.11.09
Создание копии базы данных


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


4-1199729300
kichrot
2008-01-07 21:08
2008.11.09
Как скрыть окно проги при использование ShellExecute для печати?


15-1221481634
desc
2008-09-15 16:27
2008.11.09
О открытии сайта


4-1199910118
=BuckLr=
2008-01-09 23:21
2008.11.09
Bidi mode средствами API





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский