![]() |
Delphi 3 und per Mausrad im Editor scrollen
Hoi,
ich hab folgendes Problem, und zwar bin ich gerade auf Arbeit und soll ein Modul für unsere Apllikation für einen Kunden erweitern, nun ja nichts besonderes nur das die Applikation noch etwas älter ist und in Delphi 3 gebaut wurde. Soweit alles kein Problem, nur geht es einfach nicht im Editor per Mausrad den Code zu scrollen, und inzwischen treib mich dieses nichtfunktionierende Scrollen in den Wahnsinn. Hat da jemand eine Idee? Aber im Notfall könnte man doch auch ein Tool basteln das die WM_MOUSEWHEEL ggf. in ein WM_VSCROLL umbiegt? Falls es sowas nicht schon gibt... Greets Daniel |
Re: Delphi 3 und per Mausrad im Editor scrollen
also ich würde die idee von dir aufgreifen und einfach die wm_mousewheel in wm_vscroll umformen
|
Re: Delphi 3 und per Mausrad im Editor scrollen
Das hat mich bei D3 auch zur Verzweiflung getrieben. Und ich aheb leider keine gescheite Lösung gefunden, geschweige denn rausgefunden, wo ran es liegt.
|
Re: Delphi 3 und per Mausrad im Editor scrollen
ich probiere gerade damit rum und bin jetzt bei einem mousehook
Delphi-Quellcode:
ich wollte probehalber nur mal runterscrollen (also noch keine unterscheidung in welche Richtung das Rad dreht). Der Quelltext ist der letzte stand, leider wird dabei die Scrollbar voll ausgegraut.
type
T2Words = packed record Word1: Word; Word2: Word; end; [...] function MouseProc(nCode: Integer; AWPARAM: wParam; ALPARAM: lParam): LResult; Stdcall; var LScrollInfo: TScrollInfo; LStruct: TMouseHookStruct; LWords: T2Words; begin if nCode < 0 then result := CallNextHookEx(LHook, nCode, AWParam, ALPAram) else begin if AWParam = WM_MOUSEWHEEL then begin result := 1; GetScrollInfo(PMouseHookStruct(ALParam)^.hwnd, SB_VERT, LScrollInfo); LScrollInfo.nPos := LScrollInfo.nPos + 1; LWords.Word1 := SB_THUMBPOSITION; LWords.Word2 := LScrollInfo.nTrackPos; SetScrollInfo(PMouseHookStruct(ALParam)^.hwnd, SB_VERT, LScrollInfo, True); PostMessage(PMouseHookStruct(ALParam)^.hwnd, WM_VSCROLL, Integer(LWords), 0); end else result := CallNextHookEx(LHook, nCode, AWParam, ALPAram); end; end; |
Re: Delphi 3 und per Mausrad im Editor scrollen
:arrow: Ist ein spezieller Maustreiber installiert?
Ich hab unter Windows XP gedacht, ich bräuchte den mitgeliferten nicht, aber die Maus hat dann immer da gescrollt, wo ich nicht wollte. Der Zusammenhang zu diesem Thema: In manchen Programmen ging das Scrollen gar nicht. Erst die Installation des Treibers bzw. des Steuerungprogramms (sehr oft verwendet - "Browser Mouse") hat das Problem gelöst. |
Re: Delphi 3 und per Mausrad im Editor scrollen
es liegt schlicht weg daran das die Controls in D3 die mousewheel message noch nicht unterstützen. Somit ist eignetlich die einzige möglichkeit das man das Mouserad hookt und in eine andere message abwandelt die damals schon implementiert war.
|
Re: Delphi 3 und per Mausrad im Editor scrollen
Nur ganz kurz:
Das "Scrollen per Mausrad" ist eine Sache des "sehr speziellen Maustreibers" unter älteren Versionen von Windows. Finger weg! Ab Win2k (SP4?) wird dieses "Scrollen per Mausrad" vom OS unterstützt. Viel Spaß beim nächsten Eigentor :mrgreen: mfg |
Re: Delphi 3 und per Mausrad im Editor scrollen
Hallo Ihr,
der Maustreiber ist der Standard von Windows, aber daran wird es wohl nicht liegen sondern wie SirThornberry schon sagte an den verwendeten Controls in D3. Aber lustig ist das das Mausrad im OI Funzt. Ich hatte aber auch irgendwo gelesen das es unter Win98/ME in D3 komplett Funktioniert hat. Bin zwar vorerst erlößt von dem D3 Relikt aber denn noch ist der Codeansaz von SirThornberry interessant, und das nächste mal wo ich es wieder starten muss kommt bestimmt... @orabimus Was willst du uns damit sagen? Btw. Windows 98SE hatte das Mausrad schon vollständig Implementiert und das auch OHNE Hersteller-Treiber! |
Re: Delphi 3 und per Mausrad im Editor scrollen
Hallo allesamt!
Wenn ich für meine Logitech-Maus mit Scrollrad den zugehörigen Treiber installiere, funktioniert bei mir auch das Scrollen im Editor. Bei den Kompos müßte ich nachschauen. Kann ich aber momentan nicht, da Treiber nicht installiert. Bei der SyneditKompo funktioniert das Scrollen per Mausrad auch ohne Treiber. So weit meine Erfahrungen. Gruß Profmaster |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:40 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