Thema: Delphi ButtonID

Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#5
  Alt 25. Jul 2002, 20:23
Moin Frankle,

wenn's Dir nur um die ID geht, kannst Du es hiermit versuchen:

Code:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Buttons, StdCtrls;

type
  TForm1 = class(TForm)
    SpeedButton1: TSpeedButton;
    Edit4: TEdit;
    procedure SpeedButton1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1       : TForm1;

implementation

{$R *.DFM}

procedure TForm1.SpeedButton1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

var
  ptCursor    : TPoint;
  hWindow     : DWord;

begin
  repeat
    Application.ProcessMessages;
    GetCursorPos(ptCursor);
    hWindow := WindowFromPoint(ptCursor);
    Edit4.Text := IntToStr(GetWindowLong(hWindow,GWL_ID));
  until GetAsyncKeyState(VK_LBUTTON) = 0;
end;

end.
Nur mit der linken Maustaste den Button anklicken, Taste gedrückt halten, und dann mit dem Cursor auf das fragliche Control gehen.
Erhältst Du keine ID (=0), ist es auch kein herkömmlicher Button.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat