Главная страница
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.024 c
1-44630
Sensor
2003-07-02 04:26
2003.07.14
ShellExecute + PopupMenu


1-44681
Alles
2003-06-30 16:38
2003.07.14
русский - автомат


14-44805
Bayer_Linse
2003-06-29 09:30
2003.07.14
Задача №2


14-44862
Black_phoenix
2003-06-27 09:07
2003.07.14
Удалёное администратирование , снова ? а стоит ли ?


1-44694
picaroon
2003-06-30 19:19
2003.07.14
Цвет формы???