cool, danke für die schnellen Antworten!
so wie es aussieht, ist
SetFocused(nil);
die Lösung!
Herzlichen Dank für die Tipps!
in Gänze sieht das also so aus:
Delphi-Quellcode:
procedure TFormOptions.TabControl1Gesture(Sender: TObject; const EventInfo: TGestureEventInfo; var Handled: Boolean);
begin
//wir wollen die "blättern"-geste vermeiden, wenn der Focus auf dem Trackbar/TSwitch liegt,
//damit beim Einstellen des Trackbars/TSwitchs nicht immer der Bildschirm gewechselt wird
if Assigned(Focused) then
begin
//bei Trackbar-Verschiebung nicht durch die Tabs blättern
if Focused.GetObject is TTrackbar then
Handled:=true;
//bei Switch-Bewegung nicht durch die Tabs blättern
if Focused.GetObject is TSwitch then
Handled:=true;
if Handled then
begin
//zum Schluss Focus wegschicken, damit die Gesten nun wieder funktionieren
SetFocused(nil);
end;
end;
if not Handled then
begin
case EventInfo.GestureID of
sgiLeft: ExecuteAction(NextTabActionPGOptions);
sgiRight: ExecuteAction(PreviousTabActionPGOptions);
end;
end;
end;