Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Уточнение по теме Cursor


Автор: NieL 10.2.2008, 18:11
Хотелось бы уточнить еще один момент: а что если на форме находится панель со вложенными компонентами (например Button'ами). То как вывести их name.

Код

procedure TForm1.ApplicationEvents1Idle(Sender: TObject;    
  var Done: Boolean);    
var    
  lControl: TControl;    
  lPnt: TPoint;    
begin    
  GetCursorPos(lPnt);    
  lControl := ControlAtPos(ScreenToClient(lPnt), False, True);    
  if Assigned(lControl) then    
    Caption := lControl.Name;    
end;

Автор: NieL 10.2.2008, 18:37
Все нашел требуемую функцию:
Теперь все OK...
Код

procedure Tform_Color_Range.ApplicationEvents1Idle(Sender: TObject; var Done: Boolean);
var
 Control: TControl;
 P: TPoint;
begin
 GetCursorPos(P);
 Control := FindDragTarget(P, True);
 if Assigned(Control) then
   Caption := Control.Name;
end;

Автор: VICTAR 10.2.2008, 18:42
Тогда тебе надо брать ControlAtPos и ScreenToClient компонента-родителя

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)