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

Вниз

Как перехватить click и по пунктам меню   Найти похожие ветки 

 
syscoder   (2005-03-07 18:52) [0]

Есть проект, в котором при открытии разных типов файлов надо создавать окно с определённым набором инструментов. Сейчас у меня каждому событию OnClick менюшек соответствует создание определённого типа файла. Надо сделать так, чтобы при нажатии на любую менюшку вызывалась одна процедура, которая получала бы в параметре , допустим, имя нажатой менюшки и в зависимости от неё шла дальнейшая обработка. Может кто-нибудь сталкивался с такой задачей?


 
Fenik   (2005-03-07 19:01) [1]

Присвой все пунктам меню один обработчик.
При создании форма присваивай свойству tag соответствующее значение. Допустим

const
 TXT_FIlE = 100;
 DOC_File = 101;


В Form1Create:

begin
 TxtMenuItem.Tag := TXT_FILE;
 DocMenuItem.Tag := DOC_FILE;
end;


В общем обработчике:

begin
 //здесь общие действия
 //дальше конкретно:
 case TMenuItem(Sender).Tag of
   TXT_FIlE: begin ... end;
   DOC_File: begin ... end;
 end;
end;


 
syscoder   (2005-03-07 19:45) [2]

>> Fenik   (07.03.05 19:01) [1]

Никак не пойму, почему в этой строке
case TMenuItem(Sender).Tag of
компилятор гонит на необъявленность SENDER"а?

А можно реализовать другим методом, например через Application.OnMessage или WndProc?


 
MU ©   (2005-03-07 19:51) [3]

Сказано же:
Присвой все пунктам меню один обработчик.
В общем обработчике:
procedure TForm.OnmenuItemClick(Sender : Tobject)
begin
//здесь общие действия
//дальше конкретно:
case TMenuItem(Sender).Tag of
  TXT_FIlE: begin ... end;
  DOC_File: begin ... end;
end;
end;


 
syscoder   (2005-03-07 19:58) [4]

>> MU ©   (07.03.05 19:51) [3]
Пардон, опух я просто уже сидеть перед этим ящиком.



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

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

Наверх




Память: 0.47 MB
Время: 0.028 c
4-1107338164
Tango
2005-02-02 12:56
2005.03.20
управление tabcontrol в чужом приложении


14-1109230163
DelphiN!
2005-02-24 10:29
2005.03.20
Надежность сервера баз данных FireBird 1.5


4-1107546201
XAN
2005-02-04 22:43
2005.03.20
kak cdelat tak ctobi ikonka proqrammi bila v systray


1-1110189703
Хинт
2005-03-07 13:01
2005.03.20
Преобразование имени файла


3-1108588340
hexware
2005-02-17 00:12
2005.03.20
Не знаю, как сделать в Access фильтр по данным через запрос...