Hai Noobinator,
ich würde mir für das setzen der
Position eine Procedure schreiben und in dieser dann das
OnChange-Event kurzzeitig deaktivieren.
Zum Beispiel so:
Delphi-Quellcode:
procedure SetTrackBarPosition(const aTB: TTrackBar; const aValue: Integer);
var
oldTBChange: TNotifyEvent;
begin
with aTB do
begin
oldTBChange := OnChange; // Original OnChange merken
OnChange := NIL; // OnChange deaktivieren
Position := aValue; // Wert setzen
OnChange := oldTBChange; // Original OnChange wieder zuweisen
end;
end;
procedure TDemo_Form.Button1Click(Sender: TObject);
begin
SetTrackBarPosition(TrackBar1, 5);
end;
procedure TDemo_Form.TrackBar1Change(Sender: TObject);
begin
Label1.Caption := IntToStr((Sender as TTrackBar).Position);
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"