Вниз
Скачать: CL | DM;

MainMenu=>SubMenu   Найти похожие ветки 

← →
Михайлов Антон   (2003-03-29 09:51) [0]

Люди, помогите... Есть две стоящие передо мной задачи:
1) Нужно создать динамически подменю, в которой будут добавлятся пункты (например #GoodRoom, #Nv-Key, #Coding и т.п.) ... Я думаю это не сложно
2) Ко всем поунтам подменю надо сделать событие, по клику выполняеться процедура в которую передаётся Кэпшен пункта меню(например "#GoodRoom")

Заранее благодарствую!


← →
QUE ©   (2003-03-29 16:09) [1]

НУ просто
MI := TMenuItem.Create(self);
MI.Caption := "#GoodRoom";
MI.onClick := MyClickDynamicMenuItem;


procedure TForm1.MyClickDynamicMenuItem(Sender: TObject);
var
Cap: string;
begin
if (Sender is TMenuItem) then
Cap := (Sender as TMenuItem).Caption;
end;

Вот писал прямо тут и много пропустил но основное написал ...


← →
Chlavik ©   (2003-03-29 16:21) [2]

А помойму тебе надо бьявить var MenuArray:array of TMenuItem;
а потом уже
begin
for i:=0 to сколько тебе надо do
Setlength(MenuArray,i+1);
MenuArray[i]:=TMenuItem.Create(self);
MenuArray[i] := "#GoodRoom";
MenuArray[i].onClick := MyClickDynamicMenuItem;
end;

а событе onclick так же обрабатывать как у QUE

Должно пахать...


← →
Chlavik ©   (2003-03-29 16:25) [3]

в цикле begin end допиешеш sorry...


← →
Chlavik ©   (2003-03-29 16:36) [4]

Блин короче спешил там еще MenuArray[i].Caption := IntTOStr(i); короче главное что бы ты идею понял... да и еще создай процедуру MyClickDynamicMenuItem


← →
Михайлов Антон   (2003-03-29 17:11) [5]

2 Chlavik
Я понял, спасибо, мне первый вариант подошёл

ВСЕМ ОГРОМНОЕ СПАСИБО



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
3-30258
Georg
2003-03-21 10:22
2003.04.10
Проблема с Insert


4-30642
SeF
2003-02-07 10:14
2003.04.10
UpdateResource


1-30428
Flagman
2003-03-30 21:30
2003.04.10
Формы прячутся друг за друга... :(


1-30418
dmk
2003-03-27 00:41
2003.04.10
Перехват перерисовки окна?


14-30538
Шоломицкий
2003-03-23 18:22
2003.04.10
А я в пятницу на концерте гр.




   Наверх