Главная страница
    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-1222673215
<Evil>
2008-09-29 11:26
2008.11.09
Как экранировать одинарную кавычку?


2-1222927304
SkyN
2008-10-02 10:01
2008.11.09
PostMessage


15-1221191564
Big Joe
2008-09-12 07:52
2008.11.09
12 сентября - День программиста


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


2-1222522737
@!!ex
2008-09-27 17:38
2008.11.09
Помогите перевести с С





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский