Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.14;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.009 c
9-44530
Кен
2003-01-23 03:38
2003.07.14
Как в GLScene загрузить готовую 3D-карту уровеня из какой нибудь


14-44847
sapsi
2003-06-26 08:35
2003.07.14
Ваши впечатления


1-44669
Vint45
2003-07-02 14:23
2003.07.14
Функции для дин.массивов


1-44742
hawkins
2003-07-01 14:27
2003.07.14
не удается из программы изменить размер листа у TQuickRep


6-44787
MGA
2003-05-05 14:09
2003.07.14
Как вызвать диалог





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский