Главная страница
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.026 c
14-44837
Danilka
2003-06-26 14:00
2003.07.14
Ухожу я от вас. Вот.


14-44843
CHM
2003-06-25 12:11
2003.07.14
Откуда можно скачать программу для создания СНМ - файлов?


6-44776
AVovikA
2003-05-05 18:22
2003.07.14
Как на сервере ServerSocket проверить живой ли ClientSocket


6-44785
FZ*XupypG
2003-05-04 01:57
2003.07.14
Подвисание при обращениии по несущ. адресу.


1-44638
MetalFan
2003-06-30 14:07
2003.07.14
---|Ветка была без названия|---