Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi SpinButton; Wie Pfeile ausschalten? (https://www.delphipraxis.net/3310-spinbutton%3B-wie-pfeile-ausschalten.html)

Daniel B 6. Mär 2003 12:55


SpinButton; Wie Pfeile ausschalten?
 
Hallöchen,

gibt es eine möglichkeit, die Pfeile auszuschalten? So das wenn man einen Min. Max.-Wert erreicht hat, es nicht mehr möglich ist auf den jeweiligen Pfeil zu klicken?
Bitte jetzt nicht mit SpinEdit kommen.
1. Ich bin auf ein MaskEdit angewiesen.
2. SpinEdit hat keine OnUp, OnDown-Prozeduren.
Vielen Dank.

Grüsse, Daniel :hi:

Christian Seehase 7. Mär 2003 19:41

Moin Daniel,

nimm' doch ein TMaskEdit und ein TUpDown.
In letzterem könntest Du dann in der OnChanging abfangen, was Du brauchst.

Daniel B 7. Mär 2003 19:46

Moin Christian und reh,

das hab ich mir auch schon überlegt, kann aber irgendwie nicht rausfinden ob Up oder Down gedrückt wurde.

Grüsse, Daniel :hi:

Christian Seehase 7. Mär 2003 19:55

Moin Daniel,

kleine Korrektur:
OnChangingEx, da steht dann TUpDownDirection zur Verfügung.

Daniel B 7. Mär 2003 20:56

Moin Christian,

da wäre es drin. Wenn man jetzt nur noch wüsste wie man es anwenden muss. Ich hab das nicht in meiner Hilfe. Kannst Du mal den OH-Text dazu posten bitte, danke!

Grüsse, Daniel :hi:

Christian Seehase 8. Mär 2003 13:49

Moin Daniel,

Zitat:

Zitat von Delphi Hilfe
type TUpDownDirection = (updNone, updUp, updDown);

Beschreibung

Die folgende Tabelle führt die möglichen Werte auf:

Wert Beschreibung

updNone Der Wert wird in einen ungültigen Wert geändert (kleiner als der Minimalwert oder größer als der Maximalwert).
updUp Der Wert wird vergrößert.
updDown Der Wert wird verringert.

OnChangingEx

Mit einer Ereignisbehandlungsroutine OnChangingEx können Sie das Ändern der Position des Wippreglers verhindern. Wenn Sie den Parameter AllowChange auf False setzen, kann der Wert von Position nicht geändert werden.

Sender ist der Wippregler, der das Ereignis empfangen hat. Dabei kann es sich um eine Reaktion auf das Anklicken der Pfeilschaltflächen durch den Benutzer oder um das programmgesteuerte Ändern des Wertes von Position handeln.

AllowChange gibt einen Wert zurück, der angibt, ob die Änderung zulässig ist.

NewValue gibt den neuen Wert von Position an, wenn die Änderung zulässig ist.

Direction gibt an, ob der Wert von Position erhöht oder verringert wird.

War's dass was Dir fehlte?

Übrigens, könntest Du an die Inhalte Deiner zermarmelten Hilfe auch rankommen, indem Du über das Starmenü gehst. Da sollten die Dateien auch im Zugriff sein.

Daniel B 8. Mär 2003 15:08

Moin Christian,

jawohl, Danke Dir.
Es ist aber auch so, das die Hilfe von Personal auch nciht so umfangreich ist wie die von >= Professional.
Ebenso fehlt mir auch TUDBtnType.

Mit der OnChangingEx kann ich zwar schon alles abfangen, allerdings habe ich ncoh ein Problem. Wenn ich z.B. einen Button anklicke, der Unterhalb vom TUpDown ist, dann wird der Pfeil nach Unten vom TUD geklickt. :shock:
Ebenso wenn ich auf das Kreuzchen zum Schliessen klicke, wird der Pfeil nach Oben geklickt.
Das wäre aber auch viel zu einfach gewesen, wenn alles so gehen würde wie es sollte!

Grüsse, Daniel :hi:

Christian Seehase 8. Mär 2003 15:24

Moin Daniel,

Zitat:

Zitat von Daniel B
Wenn ich z.B. einen Button anklicke, der Unterhalb vom TUpDown ist, dann wird der Pfeil nach Unten vom TUD geklickt.
Ebenso wenn ich auf das Kreuzchen zum Schliessen klicke, wird der Pfeil nach Oben geklickt.
Das wäre aber auch viel zu einfach gewesen, wenn alles so gehen würde wie es sollte!

:shock:

Wie wär's denn mal mit einer Neuinstallation ;-)

Daniel B 8. Mär 2003 15:26

Zitat:

Zitat von Daniel B
Mit der OnChangingEx kann ich zwar schon alles abfangen, allerdings habe ich noch ein Problem. Wenn ich z.B. einen Button anklicke, der Unterhalb vom TUpDown ist, dann wird der Pfeil nach Unten vom TUD geklickt. :shock:
Ebenso wenn ich auf das Kreuzchen zum Schliessen klicke, wird der Pfeil nach Oben geklickt.

Das ist doch alles ein Mist. In der OnChanging passiert das nicht. Nur in der wichtigen" OnChangingEx. Das ist doch echt zum :kotz:
Ich versteh nicht warum das nicht geht. Aber die Associate Funktion ist nicht schlecht, leider verliert das MaskEdit seine Formatierung wenn ich es damit verbinde.
Irgendwie ist diese Komponente ziemlich Strange. Und eine Lösung muss her, bis spätestens morgen. :shock:

Grüsse, Daniel :hi:

Daniel B 8. Mär 2003 20:49

Hallo,

da es keine möglichkeiten gibt, die Pfeile auszuschalten und TUpDon auch nicht die Ergebnisse gebracht hatte die ich mir gewünscht hatte, bin ich doch bei MaskEdit und TSpinButton und folgendem Code gekommen. Funktioniert wunderbar und ich komme nicht ausserhalb meiner Maximalwerte.
Delphi-Quellcode:
procedure TForm1.SpinButton1UpClick(Sender: TObject);
//Verzögerungszeit erhöhen
begin
  if TimeZaehler = 31 then
  begin
    ShowMessage('Dies ist bereits der Maximalwert!');
  end
  else
  begin
    TimeZaehler := TimeZaehler +1;
    MaskEdit1.Text := TimeCounter[TimeZaehler].ZaehlZeit;
  end;
end;

procedure TForm1.SpinButton1DownClick(Sender: TObject);
//Verzögerungszeit verringern
begin
  if TimeZaehler = 0 then
  begin
    ShowMessage('Dies ist bereits der Minimalwert!');
  end
  else
  begin
    TimeZaehler := TimeZaehler -1;
    MaskEdit1.Text := TimeCounter[TimeZaehler].ZaehlZeit;
  end;
end;
Wobei TimeZaehler eine globale Integervariable ist womit ich den momentanen Schritt erhalte. Ich muss nur 0 bi 31 klicken können.

Grüsse, Daniel :hi:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:52 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz