AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Buttonklick erkennen

Ein Thema von devnull · begonnen am 3. Nov 2003 · letzter Beitrag vom 4. Nov 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#1

Buttonklick erkennen

  Alt 3. Nov 2003, 21:17
Hi,

wie kann ich erkennen, ob sich der Mauszeiger, über einem während der Laufzeit er- stellten Button, befindet ?


devnull
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Buttonklick erkennen

  Alt 3. Nov 2003, 21:19
Delphi-Quellcode:
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;
Vielleicht hilft dir das irgendwie weiter...

mfG
mirage228
David F.
  Mit Zitat antworten Zitat
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#3

Re: Buttonklick erkennen

  Alt 3. Nov 2003, 21:37
Hi,

erstmal danke; aber ich bekomm jetzt nur mein eigenes Fenster (Form1) heraus.
nicht den Button !

devnull
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Buttonklick erkennen

  Alt 3. Nov 2003, 21:47
Hai devnull,

suche doch mal im Forum nach MouseOver bzw. MouseEnter.

Dann solltest Du einige Beispiele finden.

Gruss
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Niko

Registriert seit: 23. Jun 2003
416 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Buttonklick erkennen

  Alt 3. Nov 2003, 21:48
Du könntest auch das OnMouseOver-Ereignis des Buttons belegen.

EDIT: Mist...
"Electricity is actually made up of extremely tiny particles called electrons, that you cannot see with the naked eye unless you have been drinking." (Dave Barry)
  Mit Zitat antworten Zitat
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#6

Re: Buttonklick erkennen

  Alt 3. Nov 2003, 21:50
danke für eure geduld, daran hätte ich wohl auch sleber denken können...


devnull
  Mit Zitat antworten Zitat
Basic-Master

Registriert seit: 9. Mär 2003
Ort: Brilon
395 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Buttonklick erkennen

  Alt 3. Nov 2003, 21:54
dashier funzt bei mir
Delphi-Quellcode:
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;
allerdings funktioniert die funktion nur für das gerade aktive fenster
Christian
  Mit Zitat antworten Zitat
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#8

Re: Buttonklick erkennen

  Alt 3. Nov 2003, 22:30
Problem mit OnMouseEnter:

Das "OnMouseEnter"-Ereignis gibts nicht in der EingabeHilfe.

Delphi-Quellcode:
// 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;
Kann mir einer helfen ???

devnull
  Mit Zitat antworten Zitat
mr2

Registriert seit: 3. Mai 2003
140 Beiträge
 
Delphi 2006 Enterprise
 
#9

Re: Buttonklick erkennen

  Alt 3. Nov 2003, 22:44
warum willst Du denn mit
  @NewButton.OnMouseEnter := @MeinEigenesOnMouseEnter; die Adressen einander zuweisen?
schreib einfach
  NewButton.OnMouseEnter := MeinEigenesOnMouseEnter; das sollte problemlos funktionieren (falls MeinEigenesOnMouseEnter wie folgt deklariert ist):
    procedure MeinEigenesOnMouseEnter(Sender: TObject); CU mr2
  Mit Zitat antworten Zitat
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#10

Re: Buttonklick erkennen

  Alt 3. Nov 2003, 22:50
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz