kleiner tipp am rande...nehm lieber ein Tedit und ein TUpDown, da Spinedit unter späteren Delphi-versionen nicht mehr zur verfügung seht.
ansonsten würde ich das so in etwa machen (funktioniert bei mir,solange updown1.associate nicht auf das editfeld gesetzt ist):
Delphi-Quellcode:
procedure TForm1.UpDown1Change;
begin
edit1.text:=format('%0.3d',[updown1.position]);
end;
procedure TForm1.UpDown1Changing(Sender: TObject;
var AllowChange: Boolean);
begin
updown1change;
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
updown1.Position:=strToIntDef(edit1.text,000)
end;
procedure TForm1.Edit1Exit(Sender: TObject);
begin
updown1change;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key='+' then
begin
updown1.Position:=updown1.Position+1;
updown1change;
key:=#0;
end else
if key='-' then
begin
updown1.Position:=updown1.Position-1;
updown1change;
key:=#0;
end;
end;
zusätzlich kannst du natürlich auch die Pfeiltasten noch hinzufügen (keydown).
HTH Frank