AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TPageControl - > Tabs per Maus durchsrollen?

Ein Thema von NoGAD · begonnen am 6. Mai 2022 · letzter Beitrag vom 8. Mai 2022
 
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
345 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: TPageControl - > Tabs per Maus durchsrollen?

  Alt 7. Mai 2022, 20:21
Hallo liebe Renate,


vielen Dank für den Code. In meiner Erinnerung habe ich das etwas anders im Kopf, da ich explizit entscheiden konnte, ob sich denn die Maus über den Tabs befindet.

Mit deinem aktuellen Code wird das Ereignis komplett abgefangen, eine Scrollbox innerhalb des PageControls z.B. funktioniert dann nicht mehr. Daher habe ich es etwas angepasst.

Mit dem folgenden Code wird vorher noch geprüft, ob der Mauszeiger sich auf einem Tab befindet. (eigentlich auf dem TPageControl direkt)


Delphi-Quellcode:
procedure TPageControl.cmMouseWheel(var Msg: TCMMouseWheel);
var
  Dummy_Direction: Integer;
  Dummy_Window: HWND;
  Dummy_WinControl: TWinControl;
begin

  Dummy_Window := WindowFromPoint(Msg.Pos);
  if Dummy_Window <> 0 then
  begin
    Dummy_WinControl := FindControl(Dummy_Window);
    if Dummy_WinControl <> nil then
    begin
      if Dummy_WinControl is TPageControl then
      begin
        if Msg.WheelDelta < 0 then
          Dummy_Direction := 1
        else
          Dummy_Direction := -1;
        if (Dummy_Direction = -1) and (ActivePageIndex = 0) then
          ActivePageIndex := PageCount - 1
        else
          ActivePageIndex := (ActivePageIndex + Dummy_Direction) mod PageCount;
        Msg.Result := 1;
      end;
    end;
  end;
end;
Ich hoffe, das ist so in Ordung.


LG und ein schönes Wochenende!
Mathias
Ich vergesse einfach zu viel.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz