![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как определить имя компонента
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),....) ?