Вниз
Скачать: CL | DM;

как определить имя компонента   Найти похожие ветки 

 
Alanu   (2007-05-03 13:46) [0]

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


 
clickmaker ©   (2007-05-03 13:49) [1]

ControlAtPos()


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

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


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

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

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


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

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


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

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


 
{RASkov} ©   (2007-05-03 14:15) [6]

Или так:
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:20) [7]

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



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.033 c
2-1177756124
Ega23
2007-04-28 14:28
2007.05.20
Перехват события у TMyFrame


15-1177056559
infom
2007-04-20 12:09
2007.05.20
Механизм отображения "красивого" графа


15-1176238641
Суслик
2007-04-11 00:57
2007.05.20
И снова хелперы :)


2-1177967445
Quazevr
2007-05-01 01:10
2007.05.20
Клик в опред. месте на форме.


2-1177699162
Ezorcist
2007-04-27 22:39
2007.05.20
Многопоточность в Tserversocket




   Наверх