Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.15;
Скачать: CL | DM;

Вниз

Не знаю как программно создать меню   Найти похожие ветки 

 
rex   (2002-08-02 08:23) [0]

Не бейте сильно, но не знаю :(
Есть на форме MainMenu и мне необходимо программно создавать в нем пункты (подпункты) и так, чтобы на клик срабатывало собственное событие ? Подскажите пожалуйста, в форумах ничего не нашёл.


 
iva ©   (2002-08-02 08:39) [1]

Попробуй почитать http://www.delphikingdom.com/helloworld/runtime_comp.htm.


 
Smok_er   (2002-08-02 09:37) [2]

Файл не найден :(


 
iva ©   (2002-08-02 09:43) [3]

Мешает точка в конце ссылки. Убери и попадешь.


 
Vitaly ©   (2002-08-02 10:57) [4]

Посмотри и подделай:

Menu: TMainMenu;
...
BuildMenu( menu.Items, "Menu" );
...
procedure TfMain.BuildMenu(m: TMenuItem; sec: string);
var i: integer;
mi: TMenuItem;
mc: string;
begin
i := 1;
while true do begin
mc := ini.ReadString(sec, intToStr(i), "");
if mc <> "" then begin
mi := TMenuItem.Create(self);
mi.Caption := mc;
m.Add(mi);
mc := sec + "." + mc;
if ini.ReadString(mc, "tip", "") = "submenu"
then BuildMenu(mi, mc)
else mi.OnClick := ClickMenu;
inc(i);
end
else break;
end;
end;



 
rex   (2002-08-02 11:58) [5]

Всем спасибо. Посмотрю что получится !!!


 
777 ©   (2002-08-02 12:12) [6]

Можно просто сделать так:
CODE>MainMenu1.Items[0].Add(NewItem("NewMenuItem",0,false,true,MenuItemClick,0,"NewMenuItem"+IntToStr(MainMenu1.Items.Count)));<


 
777 ©   (2002-08-02 12:14) [7]

чё это с тегами?
MainMenu1.Items[0].Add(NewItem("NewMenuItem",0,false,true,MenuItemClick,0,"NewMenuItem"+IntToStr(MainMenu1.Items.Count)));


 
Smok_er   (2002-08-02 12:40) [8]


> iva © (02.08.02 09:43)
> Мешает точка в конце ссылки. Убери и попадешь.
Сморозил. просто щелкнул не глядя на ссылку :). Кстати, как создавать понятно. А вот как удалить? Пример желателен для ToolBar2000


 
rex   (2002-08-03 19:46) [9]

Ну вот, создавать меню вроде получается.
Но не совсем понятно с событиями. Как узнать по какому пункту кликнули ???


 
Старый паскалист   (2002-08-03 19:52) [10]

Sender as TMenuItem


 
rex   (2002-08-03 20:01) [11]

2Старый паскалист
А куда это вставить, извините за вопрос ?


 
Старый паскалист   (2002-08-03 20:12) [12]

В обработчик нажатия:

MenuItem.OnClick := Form1OrSomethingElse.MenuItemClick;

procedure TForm1OrSomethingElse.MenuItemClick(Sender: TObject);
begin
(Sender as TMenuItem) - это тот пункт меню, к-рый тебе нужен
end;


 
rex   (2002-08-03 20:34) [13]

Спасибо !



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

Текущий архив: 2002.08.15;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.033 c
3-47943
SuperVK
2002-07-25 09:56
2002.08.15
Произвольная cортировка в DBGrid


1-48067
eruc
2002-08-04 14:53
2002.08.15
AppBar & Popupmenu


1-48036
V.Turecky
2002-08-03 15:31
2002.08.15
Как организовать выход по Esc?


1-48066
Nostradamus
2002-08-02 23:05
2002.08.15
Delphi виснет


6-48226
Vasya_Pupkin
2002-05-31 16:24
2002.08.15
need help