Einzelnen Beitrag anzeigen

Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#10

AW: SpinEdit MinValue

  Alt 12. Apr 2011, 08:56
Man könnte auch ein UpDown nehmen, der Wertebereich von SmallInt sollte hier reichen.

Im assoziierten Edit-OnChange prüft man mit TryStrToInt ob die Eingabe im Werte-Bereich ist und aktualisiert UpDown.Position.

Die Live-Anzeige wird nur im UpDown.OnChanching ausgelöst.

Delphi-Quellcode:
procedure TForm1.UpDown1Changing(Sender: TObject;
  var AllowChange: Boolean);
begin
  Label1.Caption := IntToStr(UpDown1.Position);
end;

procedure TForm1.Edit1Change(Sender: TObject);
var
  i : Integer;
begin
  if TryStrToInt((Sender as TEdit).Text, i) then
  begin
    if (i >= UpDown1.Min) and (i <= UpDown1.Max) then
      UpDown1.Position := i;
  end;
end;
Wichtig ist in der Combo die Unabhängigkeit der Ereignisse, wobei die Abhängigkeit der unabhängigen Komponenten abhängig von der Anwendung, unschön ist, ganz unabhängig vom Nutzen der Methode.

€: Oder man leitet vom SpinEdit ab und publiziert ein OnTextChange-Ereignis bzw. bastelt sich da ein Live-Update von Value rein, dann hat man wieder alles in einer Hand.

PS: Ich glaube der TS muss die ganzen Antworten übersetzen, weshalb wohl ein Teil der Antworten einfach untergeht.

Geändert von Satty67 (12. Apr 2011 um 09:16 Uhr)
  Mit Zitat antworten Zitat