![]() |
Button eindrücken
Hiho,
ich habe folgendes Problem: Ich möchte einen Button haben, dass wenn man den einmal drückt das er eingedrückt bleibt und bei einem 2. Klick wieder nach oben geht. Dazu wollte ich einen Speedbutton und davon die Eigenschaft Groupindex nutzen. Der Groupindex ist doch dafür verantwortlich ob mehrere Buttons "selektiert werden können". Da hab ich mir gedacht das zu erlauben mehrere Buttons zu selektieren wenn man einmal drückt, und beim erneuten klick das wieder zurückzusetzen:
Delphi-Quellcode:
Nur irgegendwie funktioniert das nicht so wirklich da ich manchmal mehrmals klicken muss bis der Speedbutton wieder "ausgedrückt" dargestellt wird.
if SpeedButton1.Tag = 0 then
begin SpeedButton1.Tag := 1; SpeedButton1.GroupIndex := 0; end else begin SpeedButton1.Tag := 0; SpeedButton1.GroupIndex := 1; end; Zitat:
|
Re: Button eindrücken
Hai LoL,
wenn es dir nur um die Optik geht könntest Du dafür auch ein Pannel missbrauchen (kannst ja eine Kompo davon ableiten)
Delphi-Quellcode:
var
down: boolean; procedure TForm1.Panel1Click(Sender: TObject); begin with (Sender as TPanel) do if (down) then begin BevelOuter := bvLowered; end else begin BevelOuter := bvRaised; end; down := not (down); end; |
Re: Button eindrücken
Hi Sharky,
das habe ich mir auch schon gedacht nur sollte der "Button" nach möglichkeit exakt so ausschauen wie eben die anderen TButtons. Da geht es einfach nur um das einheitlich Erscheinungsbild für den Benutzer und bei deinem Vorschlag mit dem Panel ist das leider nicht der Fall. Edit: Außerdem hat das Panel ja auch keinen Focus und somit nicht die Eigenschaft wie ein Button das man mit "Return" usw auch bestätigen kann Hast du vielleicht noch einen anderen Vorschlag? |
Re: Button eindrücken
Liste der Anhänge anzeigen (Anzahl: 1)
Öhm, ich weiss ja nicht, ob das was bringt, aber ich hab hier mal was angehängt, was man nur kompilieren muss, und dann sollte schon alles klar sein ;)
EDIT: ich idiot, anhängen vergessen... |
Re: Button eindrücken
Zitat:
Grüße vom marabu |
Re: Button eindrücken
Hmm warum is die Lösung so einfach grml :wall:
VIELEN DANK :mrgreen: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17: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