Posicionar o cursor do mouse em um controle no Delphi
Inclua na seção uses: Windows
{ Digite a procedure abaixo imediatamente após a palavra implementation no código do seu formulário. } procedure MouseParaControle(Controle: TControl); var IrPara: TPoint; begin IrPara.X := Controle.Left + (Controle.Width div 2); IrPara.Y := Controle.Top + (Controle.Height div 2); if Controle.Parent <> nil then IrPara := Controle.Parent.ClientToScreen(IrPara); SetCursorPos(IrPara.X, IrPara.Y); end; { Para testar, coloque no Form um botão e troque o name dele para btnOK e modifique o evento OnShow do Form conforme abaixo: } procedure TForm1.FormShow(Sender: TObject); begin MouseParaControle(btnOk); end;
A função “MouseParaControle” recebe um parâmetro do tipo TControl. Isto significa que você poderá passar para ela qualquer controle do Delphi, tais como: TEdit, TButton, TSpeedButton, TPanel, etc. Pode ser até mesmo o próprio Form.