Einzelnen Beitrag anzeigen

knaeuel

Registriert seit: 2. Jul 2007
110 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Aktuellen Focus verlieren oder löschen

  Alt 19. Sep 2018, 14:29
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;
Wolfgang
  Mit Zitat antworten Zitat