MouseWheel Event in Memo



  • Hi,

    ich habe ein Memo Feld und in der Header Datei meiner Form1 folgendes Makro:

    protected:
    	BEGIN_MESSAGE_MAP
    		MESSAGE_HANDLER(WM_MOUSEWHEEL, TMessage, WMOnMouseWheel)
    	END_MESSAGE_MAP(TForm)
    

    Unit1.cpp

    void __fastcall TForm1::WMOnMouseWheel(TMessage &Msg)
    {
     if ( MouseOverPanel )
       {
    	if ( Msg.WParam < 0 )
          {
    	   if ( (ScrollBar1->Position + ScrollBarAdd) <= ScrollBar1->Max )
              ScrollBar1->Position += ScrollBarAdd;
           else ScrollBar1->Position = ScrollBar1->Max;
    	  }
        else
          {
    	   if ( (ScrollBar1->Position - ScrollBarAdd) >= 0 )
              ScrollBar1->Position -= ScrollBarAdd;
           else ScrollBar1->Position = ScrollBar1->Min;
          }
       }
     TForm::Dispatch( &Msg );
    }
    

    Das funktioniert wunderbar mit dem MouseWheel und der separaten ScrollBar, nur wenn ich ins Memofeld rein klicke, dann gibt es keinen WM_MOUSEWHEEL Event mehr. Ist das normal oder mache ich hier was falsch ?



  • Hallo

    Warum sollte ein Klick ein Wheel-Events auslösen?

    bis bald
    akari



  • Hi akari,

    das hast du falsch verstanden. Der Klick selbst soll keinen Event auslösen, aber nach dem Klick kann ich das MouseWheel drehen wie ich will, es kommt kein Event mehr um darauf zu reagieren.



  • Hi,

    hat da keiner einen Tip, oder muss das so sein ?


Anmelden zum Antworten