Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   D5 /W10 Kein Scrollen im Quellcode mit Mausrad (https://www.delphipraxis.net/197279-d5-w10-kein-scrollen-im-quellcode-mit-mausrad.html)

Alleby 26. Jul 2018 09:07

D5 /W10 Kein Scrollen im Quellcode mit Mausrad
 
Hallo,
wenn ich in den Einstellungen der Maus (Windows 10) beim Drehen des Mausrades eine Seite scrollen einstelle, reagiert D5 in der VCL nicht mehr auf das Drehen des Mausrades.
Hat jemand eine Idee wie man das beseitigen kann??
Grüsse
Alleby

Bernhard Geyer 26. Jul 2018 10:28

AW: D5 /W10 Kein Scrollen im Quellcode mit Mausrad
 
Evtl. mal eine Update der Delphi-IDE durchführen.
D5 wird vermutlich dieses Windows-Feature noch nicht unterstützten.

EWeiss 26. Jul 2018 10:52

AW: D5 /W10 Kein Scrollen im Quellcode mit Mausrad
 
WM_MOUSEWHEEL des Control das du zum scrollen verwendest überschreiben anschließend die Messagen von Hand verarbeiten\implementieren.
oops.. sorry sehe gerade er meint das scrollen in der IDE (Quelltext)

gruss

Frickler 26. Jul 2018 11:12

AW: D5 /W10 Kein Scrollen im Quellcode mit Mausrad
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1408752)
Evtl. mal eine Update der Delphi-IDE durchführen.
D5 wird vermutlich dieses Windows-Feature noch nicht unterstützten.

Doch klar. Normalerweise unterstützt D5 das Scrollen im Quelltext. In selbst geschriebenen Programmen muss man ins Hauptformular eine "ApplicationEvents" Komponente droppen und dann ein OnMessage Event definieren, etwa so (hier als Beispiel für TDBGrid):

Delphi-Quellcode:
procedure TMainMenu.AppEventsMessage(var Msg: tagMSG;
  var Handled: Boolean);
begin
  case Msg.message of
    WM_MOUSEWHEEL:
    begin
      if (Screen.ActiveForm.ActiveControl <> nil) and
         (Screen.ActiveForm.ActiveControl.ClassName = 'TDBGrid') then
      begin
        // die Mousewheel Message wird in einen Tastendruck umgewandelt
        Msg.message := WM_KEYDOWN;
        Msg.lParam := 0;

        if Msg.wParam > 0 then
          Msg.wParam := VK_UP
        else
          Msg.wParam := VK_DOWN;

        // wir sind noch nicht fertig, schliesslich soll der Tastendruck ausgewertet werden
        Handled := False;
      end;
    end;
  end;
end;
Das gilt dann für alle Formulare des Projektes.

himitsu 26. Jul 2018 13:14

AW: D5 /W10 Kein Scrollen im Quellcode mit Mausrad
 
Zitat:

Zitat von Frickler (Beitrag 1408757)
In selbst geschriebenen Programmen muss man ins Hauptformular eine "ApplicationEvents" Komponente droppen und dann ein OnMessage Event definieren,

Delphi 5 kennt noch kein Delphi-Referenz durchsuchenTApplicationEvents, also dort muß es noch manuell an Application.OnMessage dran,
und für IDE muß das dann auch noch via OpenToolsAPI in die IDE rein und dort auch noch das Application erstmal suchen.

Oder ein MouseHook via OTA in die IDE, der das umschreibt.

Bernhard Geyer 26. Jul 2018 13:27

AW: D5 /W10 Kein Scrollen im Quellcode mit Mausrad
 
Zitat:

Zitat von Frickler (Beitrag 1408757)
Doch klar. Normalerweise unterstützt D5 das Scrollen im Quelltext. In selbst geschriebenen Programmen muss man ins Hauptformular eine "ApplicationEvents"

Es geht um die IDE und Seitenweises scrollen.

jaenicke 26. Jul 2018 13:48

AW: D5 /W10 Kein Scrollen im Quellcode mit Mausrad
 
Zitat:

Zitat von Alleby (Beitrag 1408736)
wenn ich in den Einstellungen der Maus (Windows 10) beim Drehen des Mausrades eine Seite scrollen einstelle, reagiert D5 in der VCL nicht mehr auf das Drehen des Mausrades.

Leider funktioniert das auch mit der aktuellsten Version nicht. In Delphi 10.2 (die es ja als Community Edition kostenlos gibt, vielleicht wäre das eine Alternative zu Delphi 5?) passiert das gleiche.

Ich habe gerade keine Zeit zu schauen, ob es schon eine Bugmeldung dazu gibt.

himitsu 26. Jul 2018 14:40

AW: D5 /W10 Kein Scrollen im Quellcode mit Mausrad
 
Eigentlich ja ein Bug im Windows ... wenn die was Neues einbauen, dann könnten sie auch das Result dieses neuen Events prüfen und wenn nicht erfolgreich, dann nochmal das alte Zeilenscrollen nachwerfen.

Frickler 26. Jul 2018 15:39

AW: D5 /W10 Kein Scrollen im Quellcode mit Mausrad
 
Zitat:

Zitat von himitsu (Beitrag 1408766)
Zitat:

Zitat von Frickler (Beitrag 1408757)
In selbst geschriebenen Programmen muss man ins Hauptformular eine "ApplicationEvents" Komponente droppen und dann ein OnMessage Event definieren,

Delphi 5 kennt noch kein Delphi-Referenz durchsuchenTApplicationEvents, also dort muß es noch manuell an Application.OnMessage dran,
und für IDE muß das dann auch noch via OpenToolsAPI in die IDE rein und dort auch noch das Application erstmal suchen.

Oder ein MouseHook via OTA in die IDE, der das umschreibt.

Hast Du ein anderes Delphi 5 als ich? Ich habs hier für alte Projekte in einer VM laufen. Und da a) habe ich im Reiter "Zusätzlich" die TApplicationEvents Komponente und b) kann ich sehr wohl im Quelltext (d.h. in der IDE) mit dem Mausrad scrollen.

Mein Programmierbeispiel ist aus einem alten Projekt, welches halt noch im D5 Quelltext vorliegt.

P.S.: in c:\Programme\Borland\Delphi5\Source\Vcl liegt die "appevents.pas" vom 3.2.2000.

Uwe Raabe 26. Jul 2018 16:08

AW: D5 /W10 Kein Scrollen im Quellcode mit Mausrad
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Frickler (Beitrag 1408786)
kann ich sehr wohl im Quelltext (d.h. in der IDE) mit dem Mausrad scrollen.

Auch wenn unter Windows 10 das seitenweise Scrollen eingestellt ist? (Eventuell die IDE dann neu starten)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:22 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz