Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как определить имя компонента


Alanu ©   (2007-05-03 13:46:00) 

На форме расположены компоненты типа Label
как програмно определить имя компонента над которым находится курсор мыши?
Буду очень благодарен за ответ!


Alanu   (2007-05-03 14:20:00) [1]

СПАСИБО ОГРОМНОЕ!!!
Все получилось!!!!!!!!!!!!!!!


{RASkov}   (2007-05-03 14:15:00) [2]

Или так:
procedure TForm1.Timer1Timer(Sender: TObject);
var P: TPoint; C: TControl;
begin
 GetCursorPos(P);
 P:=ScreenToClient(P);
 C:=ControlAtPos(P, True, True);
 if not (C is TCustomLabel) then C:=nil; // Это только для меток, но так же можно и третий параметр в ControlAtPos поставить в False(или его
                                         // вообще не писать)
 if C<>nil then Caption:=C.Name else Caption:='No Control';
end;

> [5] Alanu   (03.05.07 14:12)

(Sender as TLabel).Name.... Предварительно проверить if Sender is TLabel then


Alanu   (2007-05-03 14:12:00) [3]

С обработчиком понятно, а как Sender  проверить?


MBo   (2007-05-03 14:02:00) [4]

всем меткам один обработчик OnMouseMove сделать, и проверять в нем Sender


Alanu   (2007-05-03 13:58:00) [5]

А как это применить?

есть метки label1, label2 ..... label3
событие OnMouseMove
как определить над какой меткой курсор?


clickmaker   (2007-05-03 13:49:00) [6]

ControlAtPos()


Игорь Шевченко   (2007-05-03 13:49:00) [7]

YourForm.ControlAtPos (Point(Mouse.X, Mouse.Y),....) ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо