Nächstes Thema anzeigen
Vorheriges Thema anzeigen

Vorheriges Thema anzeigenDieses Thema verschickenZeige Benutzer, die dieses Thema gesehen habenDieses Thema als Datei sichernPrintable versionEinloggen, um private Nachrichten zu lesenNächstes Thema anzeigen
Du musst dich anmelden um Beiträge zu schreiben!Du musst dich anmelden um Beiträge zu schreiben!
Autor Nachricht
derchris
Inputsammler
Inputsammler



Anmeldung: 09.08.2005
Beiträge: 25



BeitragVerfasst: Mo 31 Okt, 2005 17:48  Titel:  .net - Mausrad / Mousewheel abfragen
Nach untenNach oben

ich verzweifel bald...

so weit hab ichs nu scho:

Code:
    Public Function LowLevelMouseProc( _
        ByVal nCode As Integer, _
        ByVal wParam As Integer, _
        ByVal lParam As MSLLHOOKSTRUCT) As Integer

        If (nCode = HC_ACTION) Then
            Select Case wParam
                Case WM_LBUTTONDOWN
                    RaiseEvent LeftClick(Cursor.Position)
                Case WM_MOUSEWHEEL
                    MessageBox.Show(GetHiWord(lParam.mouseData))
            End Select
        End If

        Return CallNextHookEx(hhkLowLevelMouse, nCode, wParam, lParam)
    End Function


das Prob ist bloss, dass er bei MessageBox.Show(GetHiWord(lParam.mouseData)), was ja die Umdrehungen (positiv -> zum User hin, negativ -> vom User weg) ausgeben sollte, IMMER 18 rauskommt...
wie soll ich dann wissen wie oft und in welche Richtung das Rad gedreht wurde?

Hatte jemand schon mal ein ähnliches Prob?
Ich könnts auch in c# machen aber da hab ich das selbe prob



    
derchris
Inputsammler
Inputsammler



Anmeldung: 09.08.2005
Beiträge: 25



BeitragVerfasst: Mo 31 Okt, 2005 19:26  Titel:  (Kein Titel)
Nach untenNach oben

so, jetzt ma ein Versuch mit den ManagedHooks:


Code:
      private void mouseHook_MouseEvent(Kennedy.ManagedHooks.MouseEvents mEvent, Point point)
      {
         if(base.Visible && mEvent.ToString() == MouseEvents.MouseWheel.ToString())
         {
            string msg = string.Format("Mouse event: {0}: ({1},{2}).", mEvent.ToString(), point.X, point.Y);
            AddText(msg);
            if(mEvent.ToString() == MouseEvents.MouseWheel.ToString())
            {
               if(point.Y > 0)
               {
                  AddText("Rechts");
               }
               else
               {
                  AddText("Links");
               }
            }
         }   
      }


was kommt raus? Immer "Links" (point.Y ist immer 0)



    
ppx
Frischfleisch
Frischfleisch



Anmeldung: 07.11.2005
Beiträge: 14



BeitragVerfasst: Do 10 Nov, 2005 21:51  Titel:  (Kein Titel)
Nach untenNach oben

Du brauchst das HIGHWORD vom wParam.
Ein positiver Wert bedeutet das das Rad vom User weg, ein negativer Wert, das das Rad zum User hin bewegt wurde (wenn ich das noch richtig im Kopf habe)



    
Beiträge der letzten Zeit anzeigen:      
Du musst dich anmelden um Beiträge zu schreiben!Du musst dich anmelden um Beiträge zu schreiben!
Vorheriges Thema anzeigenDieses Thema verschickenZeige Benutzer, die dieses Thema gesehen habenDieses Thema als Datei sichernPrintable versionEinloggen, um private Nachrichten zu lesenNächstes Thema anzeigen

Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum nicht herunterladen
 

CarTFT
Forenspecials



Forensicherheit - Alle Zeiten sind GMT + 1 Stunde -
Powered by phpBB2 Plus, phpBB Styles, based on phpBB © 2001/6 phpBB Group :: FI Theme ::

[ Zeit: 0.7059s ][ Queries: 48 (0.3625s) ][ GZIP Ein - Debug Ein ]
carTFT.com