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

Вниз

Создание пункта в меню   Найти похожие ветки 

 
$tranger ©   (2004-03-07 20:29) [0]

Здравствуйте, г. программисты. Проблема следующая: надо с определенными параметрами (Caption, Icon...) создать в POPUPMENU пункт. Я никак не могу разобраться с соответствующими функциями в хелпах. Спасибо


 
Zew ©   (2004-03-07 20:45) [1]

Вот держи код:

Var Pum:TmenuItem;
begin      
Pum:= TMenuItem.Create(Form1.PopupMenu);
Pum.Tag :=Сам выберишь
Pum.Caption :=Сам выберишь
Pum.OnClick := Сам выберишь
Pum.ImageIndex:= Сам выберишь
Form1.PopupMenu.Items.Insert(0, Pum);


 
$tranger ©   (2004-03-08 15:05) [2]

Zew, спасибо. Помогло, но что такое TAG я чего-то в хелпах этих делфийских теряюсь...


 
Gero ©   (2004-03-08 15:11) [3]

Tag - это просто левое свойство, предназначенное, для хранения каких-то задаваемых программистом дополнительных данных.
Используется только в случае крайней необходимости.


 
Rouse_ ©   (2004-03-08 15:12) [4]

> но что такое TAG
Уууу - это хитрый вопрос ;)
однако если почитать F1 то выясняется следующее :

Stores an integer value as part of a component.

property Tag: Longint;

Description

Tag has no predefined meaning. The Tag property is provided for the convenience of developers. It can be used for storing an additional integer value or it can be typecast to any 32-bit value such as a component reference or a pointer.


 
$tranger ©   (2004-03-08 20:03) [5]

Ребята, а вот еще одна заковырка: когда присваивашь событие OnClick, то должно быть отдельное событие готовое заранее?
Мне надо создать это событие исходя из некоторых параметров...


 
Defunct ©   (2004-03-08 20:24) [6]

> Мне надо создать это событие исходя из некоторых параметров...

Не событие, а обработчик собития. Событие в данном случае - это Click на пункте меню.

Обработчик, дожен быть методом любого класса, Обработчик - это действие которое происходит вследствие какого-то события. например:

TForm1 = class(Form1)
Public
 Procedure Menu1EventHandler(Sender: TObject);
End;

Procedure TForm1.Menu1EventHandler;
Begin
 ...
 ..
 Делаем что-то (при вызове данного пункта меню)
 ..
End;
...
...
Pum.OnClick := Menu1EventHandler;


 
evvcom   (2004-03-09 08:46) [7]

Defunct ©   (08.03.04 20:24) [6]
> Обработчик, дожен быть методом любого класса,


Очень неточно. Для новичка лучше сказать "Делай обработчик методом того класса, в объекте которого возникает событие". Для продвинутых можно и так заявить, что обработчик можно написать хоть в обычной процедуре, главное понимать, что методы класса и обычные процедуры отличаются лишь тем, что в метод класса также неявно передается ссылка на объект.


 
evvcom   (2004-03-09 08:47) [8]


> того класса, в объекте которого возникает событие

Прошу прощения. Это тоже не так. Перемудрил. Но смысл вобщем-то должен быть понятен.


 
Gero ©   (2004-03-09 08:53) [9]

Для новичка лучше сказать: "Это еще одна процедура в Form1" :)



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

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

Наверх




Память: 0.49 MB
Время: 0.098 c
3-1077280574
Настенька
2004-02-20 15:36
2004.03.28
сложный запрос


14-1077712071
Vlad
2004-02-25 15:27
2004.03.28
И снова пингвины...


3-1077169108
Drozdov A
2004-02-19 08:38
2004.03.28
select * from rab_baz order by pole1


3-1077871327
Max2004
2004-02-27 11:42
2004.03.28
Query+ProgressBar


1-1077871975
Гарик
2004-02-27 11:52
2004.03.28
Как програмно из Delphi 7 изменить свойство компонента в Rave R.