![]() |
Buttonklick erkennen
Hi,
wie kann ich erkennen, ob sich der Mauszeiger, über einem während der Laufzeit er- stellten Button, befindet ? devnull |
Re: Buttonklick erkennen
Delphi-Quellcode:
Vielleicht hilft dir das irgendwie weiter...
function GetObjectAtCursor: String;
{ Liefert VCL-Klassennamen an der aktuellen Mausposition! Für Debugzwecke } var Pos: TPoint; Obj: TObject; begin GetCursorPos(Pos); Obj := FindVCLWindow(Pos) as TObject; if Obj <> NIL then Result := Obj.ClassName else // du könntest nach TComponent casten und so an den Namen der Komponente rankommen! Result := 'Unknown Object at Cursor Position'; end; mfG mirage228 |
Re: Buttonklick erkennen
Hi,
erstmal danke; aber ich bekomm jetzt nur mein eigenes Fenster (Form1) heraus. nicht den Button ! devnull |
Re: Buttonklick erkennen
Hai devnull,
suche doch mal im Forum nach MouseOver bzw. MouseEnter. Dann solltest Du einige Beispiele finden. Gruss :-D |
Re: Buttonklick erkennen
Du könntest auch das OnMouseOver-Ereignis des Buttons belegen.
EDIT: Mist... |
Re: Buttonklick erkennen
danke für eure geduld, daran hätte ich wohl auch sleber denken können...
:wall: devnull |
Re: Buttonklick erkennen
dashier funzt bei mir :)
Delphi-Quellcode:
allerdings funktioniert die funktion nur für das gerade aktive fenster :gruebel:
function GetObjectAtCursor: String;
var Pos: TPoint; Obj: TObject; Wnd: THandle; begin GetCursorPos(Pos); if not assigned(FindVCLWindow(Pos)) then begin Result := 'Unknown Object at Cursor Position'; exit; end; Wnd := FindVCLWindow(Pos).Handle; if Wnd = 0 then begin Result := 'Unknown Object at Cursor Position'; exit; end else begin obj := FindControl(Wnd) as tobject; if Obj <> NIL then Result := Obj.ClassName else Result := 'Unknown Object at Cursor Position'; end; end; |
Re: Buttonklick erkennen
Problem mit OnMouseEnter:
Das "OnMouseEnter"-Ereignis gibts nicht in der EingabeHilfe.
Delphi-Quellcode:
Kann mir einer helfen ???
// SpeedButton !!!
var NewButton: TSpeedButton; begin // Neuen Button auf Form 1 erzeugen: NewButton := TSpeedButton.Create(Form1); // Eigenschaften des neuen Buttons festlegen: with NewButton do begin Parent := Form1; Caption := 'Test'; Top := 10; Left := 100; Height := 10; Width := 100; // geht nicht, ereignis geht nicht @NewButton.OnMouseEnter := @MeinEigenesOnMouseEnter; // funktioniert @NewButton.OnClick := @MeinEigenesOnClick; end; devnull |
Re: Buttonklick erkennen
warum willst Du denn mit
Delphi-Quellcode:
die Adressen einander zuweisen?
@NewButton.OnMouseEnter := @MeinEigenesOnMouseEnter;
schreib einfach
Delphi-Quellcode:
das sollte problemlos funktionieren (falls MeinEigenesOnMouseEnter wie folgt deklariert ist):
NewButton.OnMouseEnter := MeinEigenesOnMouseEnter;
Delphi-Quellcode:
CU mr2
procedure MeinEigenesOnMouseEnter(Sender: TObject);
|
Re: Buttonklick erkennen
hi,
das Problem is, dass ONMOUSEENTER nicht geht (CompilerFehler: Undefinierter Bezeichner: 'OnMouseEnter'). Ich glaub, das OnMouseEnter nur bei LABELS geht, aber wie krieg ich dann raus, ob der Mauszeiger über einem der Buttons ist ? devnull |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz