Testcode:
Delphi-Quellcode:
// ...
implementation
{$R *.dfm}
var n: SmallInt = 0;
procedure TForm1.UpDown1Changing(Sender: TObject;
var AllowChange: Boolean);
begin
StaticText1.Caption := inttostr( UpDown1.Position );
// <--<<
end;
procedure TForm1.UpDown1ChangingEx(Sender: TObject;
var AllowChange: Boolean; NewValue: Smallint;
Direction: TUpDownDirection);
begin
case Direction
of
updUp :
if n+UpDown1.Increment <= UpDown1.Max
then inc(n, UpDown1.Increment);
updDown :
if n-UpDown1.Increment >= UpDown1.Min
then dec(n, UpDown1.Increment);
end;
label1.Caption := inttostr( n );
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
n := UpDown1.Position;
end;
end.
Also UpDown in Normalhandling hinkt immer einen Positionswert gegenüber den Selbstbau
im UpDownChangingEx hinterher. Der Fehler, wenn es denn einer ist, fiel mir bei Delphi 6
und Delphi 2005
PE auf.
Ist das jmd aufgefallen, mach ich was falsch oder stecht da ein Denkfehler drin ?
( Sorry drei Fragen auf einmal ? )