AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Wie Fehler suchen: WM_MouseWheel nicht in WindowProc()
Thema durchsuchen
Ansicht
Themen-Optionen

Wie Fehler suchen: WM_MouseWheel nicht in WindowProc()

Ein Thema von Schwedenbitter · begonnen am 6. Sep 2010 · letzter Beitrag vom 6. Sep 2010
 
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#1

Wie Fehler suchen: WM_MouseWheel nicht in WindowProc()

  Alt 6. Sep 2010, 15:35
Hallo,

ich habe auf meinem Form ein TRichEdit zu liegen und möchte gern, dass dieses mit der Mouse gescrollt wird; und zwar auch dann, wenn es nicht den Focus besitzt. An sich habe ich das mit folgendem Codeausschnitt geschafft:
Delphi-Quellcode:
type
  TMsgsTester = class(TForm)
         Log : TRichEdit;
         BtnNewCount : TButton;
         procedure FormCreate(Sender: TObject);
         procedure FormShow(Sender: TObject);
        private
         procedure NewWndProc(var Msg: TMessage);
end;

var
  MsgsTester: TMsgsTester;

implementation

{$R *.dfm}

procedure TMsgsTester.FormCreate(Sender: TObject);
begin
  self.WindowProc:=NewWndProc;
end;

procedure TMsgsTester.FormShow(Sender: TObject);
begin
  BtnNewCount.SetFocus;// <- nur zum Focus verlieren
end;

procedure TMsgsTester.NewWndProc(Var Msg: TMessage);
begin
  if (not Log.Focused) and
     (Msg.Msg = WM_MouseWheel) then
  begin
    Log.Perform(WM_MouseWheel, Msg.WParam, Msg.LParam);
  end;
  inherited WndProc(Msg);
end;

end.
In meinem (un)fertigen Programm kommt aber WM_MouseWheel in NewWndProc() nicht an. Ich habe keine Ahnung warum und habe mir in NewWndProc() bereits einige Messages mitloggen lassen. WM_HotKey, WM_DeviceChange, WM_SysCommand z.B. kommen und lassen sich entsprechend verarbeiten. Die Bedingung Msg.Msg = WM_MouseWheel tritt nie ein, egal wie stark "ich am Rad drehe".

Ich habe mir bereits die Mühe gemacht und mein doch sehr umfangreiches Programm bzgl. der Message-Behandlungsroutinen nachgebaut. Der Nachbau läuft super und ich resigniere langsam.

Hat jemand eine Idee, wie ich dem Fehler auf die Schliche kommen kann?

Gruß und Danke fürs Mitdenken, Alex
Alex Winzer
  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 02:38 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