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

Вниз

как определить на какой объект был совершен клик мыши   Найти похожие ветки 

 
Александр123123   (2006-04-22 06:13) [0]

Здраствуйте подскажите пожалуйста как определить на какой объект был совершен клик мыши. У меня на несколько объектов стоит один обработчик, в котором необходимо считать свойства объекта
procedure TForm1.FormClick(Sender: TObject);
в процедуре Click как я понимаю сам объект не передается?


 
TUser ©   (2006-04-22 08:58) [1]

> в процедуре Click как я понимаю сам объект не передается?

Посмотри на параметр Sender: TObject. Это и есть сам объект.


 
Quattro ©   (2006-04-22 14:08) [2]

то есть нужно  делать проверку??...например если на форме есть ТБуттон и ТЛабел, то
if Sender is TButton then
  begin
    ShowMessage("Кнопка");
  end;
if Sender is TLabel then
 begin
   ShowMessage("Лэйбл");
 end;

так?


 
Anatoly Podgoretsky ©   (2006-04-22 14:35) [3]

ActiveControl


 
Мефисто   (2006-04-22 14:42) [4]

Anatoly Podgoretsky ©   (22.04.06 14:35) [3]

Утверждение ложно :)


 
Leonid Troyanovsky ©   (2006-04-22 14:47) [5]


> Мефисто   (22.04.06 14:42) [4]

> Утверждение ложно :)


Доказывай.

--
Regards, LVT.


 
Мефисто   (2006-04-22 15:12) [6]

Leonid Troyanovsky ©   (22.04.06 14:47) [5]
Как я подозреваю

Anatoly Podgoretsky ©   (22.04.06 14:35) [3]
TForm.ActiveControl ?

Вопрос автора:
>> как определить на какой объект был совершен клик мыши

Но ActiveControl подходит только для контролов производных от TWinControl и то, как вроде для тех TWinControl которые умеют получать фокус.

Ну, а если применительно например к TButton, тогда на все 100% с АП согласен ;)


 
Anatoly Podgoretsky ©   (2006-04-22 16:43) [7]

Ну а для других "контролов" допольнительные действия, обработка то все равно в OnMouseUp


 
Anatoly Podgoretsky ©   (2006-04-22 16:45) [8]

ControlAtPos


 
Quattro ©   (2006-04-22 16:51) [9]

OnMouseUp чего?формы?


 
Мефисто   (2006-04-22 18:56) [10]

Quattro ©   (22.04.06 16:51) [9]

Неважно чье это будет событие. Закодить 1 раз обработчик события OnMouseUp у одного контрола, а остальным контролам можно просто на данный обработчик ссылаться.

Anatoly Podgoretsky ©   (22.04.06 16:45) [8]

Таки выкрутился :)  Да... Знание сила ;)


 
Quattro ©   (2006-04-22 23:59) [11]

а почему именно OnMouseUp?? разве вот так будет по лапански??
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(Sender.ClassName);
end;



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

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

Наверх




Память: 0.46 MB
Время: 0.056 c
2-1147420555
Ling
2006-05-12 11:55
2006.05.28
в чём разница?


2-1146935465
Golik
2006-05-06 21:11
2006.05.28
Data


15-1146430993
iZEN
2006-05-01 01:03
2006.05.28
С днём весны и труда.


2-1147445279
SummerSwan
2006-05-12 18:47
2006.05.28
TFileStream


15-1146575726
asdqwer
2006-05-02 17:15
2006.05.28
Интернет в России и на Украине





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский