AGB  ·  Datenschutz  ·  Impressum  







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

SpeedButton und Handles

Ein Thema von F.W. · begonnen am 10. Jan 2004 · letzter Beitrag vom 10. Jan 2004
Antwort Antwort
Benutzerbild von F.W.
F.W.

Registriert seit: 28. Jul 2003
Ort: Zittau
636 Beiträge
 
#1

SpeedButton und Handles

  Alt 10. Jan 2004, 17:49
Ich habe angefangen ein kleines Spaßprogramm zu proggen, nachdem Start wird der Mauszeiger Schritt für Schritt zu einem Knopf geführt. Dann soll dieser gedrückt werden, es geht dabei um zwei Sachen:

1. Der Anwender muss sehen können das der Button gedrückt wird
2. das Führen mache ich per Timer, es wird über WindowFromPoint(Mouse.CursorPos) = Button.Handle überprüft ob der Cursor da ist

Erst habe ich einen Button genommen, Problem 1: Ich weiß nicht, wie ich den Button "drücken" soll, das es der Anwender sieht, also habe ich einen SpeedButton genommen 2. Problem: Der SpeedButton hat's mir auf die Art schon ganz schön gegeben: Jetzt kann ich das XPDesign in die Tonne hauen! Dann habe ich das M...Ding eingebaut, für Down umprogrammiert , jetzt merke ich das das Ding kein Handle besitzt

Gibt's an einem SpeedButton irgendwein Handle, welches mit der oben genannten Methode funkzionieren würde?

Danke schonmal!
  Mit Zitat antworten Zitat
Niko

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

Re: SpeedButton und Handles

  Alt 10. Jan 2004, 18:06
Zuerst die schlechte Nachricht:
Da der SpeedButton von TGraphicControl abgeleitet ist, besitzt er kein eigenes Handle.
Und dann die gute :
Dein Problem 1 sollte sich auch mit einem normalen Button und der Nachricht BM_SETSTATE, mit der du das Klicken simulieren kannst, lösen lassen.
"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 toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#3

Re: SpeedButton und Handles

  Alt 10. Jan 2004, 18:39
Dein Problem 1 sollte sich auch mit einem normalen Button und der Nachricht BM_SETSTATE, mit der du das Klicken simulieren kannst, lösen lassen. Das sieht dass etwa so aus:

Delphi-Quellcode:
procedure TForm1.Button2MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
const
{$j+}bPushed : Boolean = True;{$j-}
begin
  if FindVCLWindow(Mouse.CursorPos) = TButton(Sender) then
  begin
    Button2.Perform(BM_SETSTATE,Ord(bPushed),0);
    bPushed := not bPushed;
  end;
end;
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von F.W.
F.W.

Registriert seit: 28. Jul 2003
Ort: Zittau
636 Beiträge
 
#4

Re: SpeedButton und Handles

  Alt 10. Jan 2004, 19:39
Super! Danke! Damit hat sich doch auch mein anderes Problem gelöst! Denn wenn ich TButton nehmen kann, kann ich ja, weil er's besitzt auch mit Handles arbeiten!
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:51 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