1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StrUtils;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Label1: TLabel;
procedure FormCreate(Sender: TObject);
private
{ Déclarations privées }
Procedure AppMessage(var Msg: TMsg; var Handled: Boolean);
public
{ Déclarations publiques }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage := AppMessage;
end;
procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
VAR
ctrl : TControl;
x,y : Integer;
pt : tPoint;
begin
IF Msg.message = wm_MouseMove Then
Begin
x := Mouse.CursorPos.x; // Position du cursor
y := Mouse.CursorPos.Y;
Pt := Self.ScreenToClient(point(x,y)); // Par rapport à l'écran
ctrl := ControlAtPos(point(pt.x,pt.y),true,true); // Récupère le Control survolé
IF ctrl <> NIL THEN label1.Caption := ctrl.ClassName; // On l'affiche
End;
Handled := False;
end;
end. |
Partager