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

Вниз

ActionList и кнопки   Найти похожие ветки 

 
irq   (2003-07-02 12:18) [0]

Здравстуйте! На несколько кнопок "навешан" один и тот же Action из ActionList"а. Можно ли как-нибудь определить какая именно кнопка была нажата? Спасибо


 
Darrin ©   (2003-07-02 12:23) [1]

в обработчик передается параметр Sender, его и анализируй


 
Skier ©   (2003-07-02 12:27) [2]

>Darrin © (02.07.03 12:23)
Вряд ли Sender здесь поможет.


 
Семен Сорокин ©   (2003-07-02 12:32) [3]

м.б. Tag поможет


 
Darrin ©   (2003-07-02 12:34) [4]

>Skier © (02.07.03 12:27)
у сендера есть свойство Tag, которое очень удобно использовать


 
Skier ©   (2003-07-02 12:36) [5]

>Darrin © (02.07.03 12:34)
Но в Tag надо что-то занести ? Не так ли ?


 
Darrin ©   (2003-07-02 12:37) [6]

конечно!!!! Какойнить уникальный эдентификатор кнопки (типа Integer)


 
Skier ©   (2003-07-02 12:39) [7]

>Darrin © (02.07.03 12:37)
Но мне-то кажется, что автор хочет получить доступ к кнопкам
без лишних усилий, ведь все action-ы провешены в design-time...


 
Darrin ©   (2003-07-02 12:45) [8]

А design-time нельзя так же проставить Tag"и?


 
Skier ©   (2003-07-02 12:47) [9]

>Darrin © (02.07.03 12:45)
Можно. А дальше что ? Подумай спокойно что сие даст...


 
Darrin ©   (2003-07-02 12:54) [10]

if sender as TButton then
begin
if (sender as TButton).Tag=1 then
begin
{


 
Skier ©   (2003-07-02 12:57) [11]

>Darrin © (02.07.03 12:54)
А ты настойчивый.:)
Ну...сделай так что ли ShowMessage(Sender.ClassName) для
событий TContainedAction


 
Семен Сорокин ©   (2003-07-02 13:00) [12]

Darrin © (02.07.03 12:54)
бред, во первых не if sender as TButton then а if sender is TButton then
во вторых Sender"ом будет TAction


 
Darrin ©   (2003-07-02 13:00) [13]

И спокоен как танк. :) Только вот чего мы спорим, я уже давно не понимаю. Ж:-)


 
Skier ©   (2003-07-02 13:02) [14]

>Darrin © (02.07.03 13:00)

> Только вот чего мы спорим, я уже давно не понимаю. Ж:-)

см. Skier © (02.07.03 12:27)


 
Darrin ©   (2003-07-02 13:03) [15]

"as" "is" сори опечатался, а вот на счет "Sender"ом будет TAction" об этом я подул плох


 
Семен Сорокин ©   (2003-07-02 13:05) [16]

Skier © (02.07.03 13:02)
на самом деле можно :))
назначить Tag"и у Action"ов такие-же как и у Button"ов, а потом просто пробегать по контролам и искать нужный баттон :)


 
Darrin ©   (2003-07-02 13:05) [17]

хорошо берем глобальну переменную, и изврвщаемся с теми же самыми тагами


 
Skier ©   (2003-07-02 13:06) [18]

>Семен Сорокин © (02.07.03 13:05)
У нескольких кнопок может быть одно Action


 
Семен Сорокин ©   (2003-07-02 14:00) [19]

Skier © (02.07.03 13:06)
неужто ты пытаешься доказать, что никак в этом случае нельзя достучаться до кнопки, неверю :))


 
Skier ©   (2003-07-02 14:05) [20]


> неужто ты пытаешься доказать, что никак в этом случае нельзя
> достучаться до кнопки,

Не пытаюсь.


 
irq   (2003-07-02 15:22) [21]

Спасибо за то, что обсудили проблему. Решение уже найдено.
procedure TForm1.actOpenExecute(Sender: TObject);
begin
if (Form1.ActiveControl <> nil) then
begin
if (Form1.ActiveControl.ClassName = "TDBGrid") then
OpenRecordForm(osOpen, (Form1.ActiveControl as TDBGrid).Tag)
else
if (Form1.ActiveControl.ClassName = "TBitBtn") then
OpenRecordForm(osOpen, (Form1.ActiveControl as TBitBtn).Tag);
end;
end;



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

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

Наверх




Память: 0.51 MB
Время: 0.022 c
3-44601
explorer
2003-06-20 14:39
2003.07.14
Анализ данных


1-44758
Zigs
2003-07-01 15:41
2003.07.14
Как изменить в QReport положение TQRDBTEXT на лету?


14-44803
stone
2003-06-24 11:28
2003.07.14
---|Ветка была без названия|---


3-44548
Rel_
2003-06-19 16:33
2003.07.14
PL/SQL


1-44684
oleg_SYS
2003-06-28 21:46
2003.07.14
Как БЫСТРО проверить, чист ли Canvas?