Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Mauskoordinaten messen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
26.06.2003, 17:03 Uhr
Oliver
S2-Pixelgeneral


Hi,

wie kann man denn in der API die Mauskoordinaten herausbekommen. Ich habs schon mit GetCursorPos versucht. Es geht aber nicht.

So hab ich's gemacht:


Code:

// ...

case WM_LBUTTONDOWN:
        LPPOINT p=0;
        if(!GetCursorPos(p)) return 0;
        if(p->x >100) MessageBox(mm_window,"Cursor über 100","Cursor",MB_OK);
        return 0;
// ...


Der Returncode davon ist aber immer Null, deswegen brichts ab. Wenn ich die If-Anweisung weglasse, kommt ein Fehler.

Danke Oli
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )

Dieser Post wurde am 26.06.2003 um 17:03 Uhr von Oliver Müller editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
26.06.2003, 22:26 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Oliver,

C++:
case WM_LBUTTONDOWN:
     GetCursorPos(&p);
     xPos = p.x; //int
     yPos = p.y;
     if(xPos >100)
     MessageBox(NULL,"Cursor über 100","Cursor",MB_OK);
  break;


--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 26.06.2003 um 22:27 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
29.06.2003, 12:57 Uhr
Oliver
S2-Pixelgeneral


Ja es geht, aber GetCursorPos gibt nur Koordinaten für den gesamten Bildschirm zurück. Ich will aber nur für das Fenster. (man beachte, dass das Fenster auch verschoben werden kann)
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
29.06.2003, 13:11 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Hi Olli, dafür gibt es die funktionen ScreenToClient und ClientToScreen

Gruss Heiko
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
29.06.2003, 14:34 Uhr
Oliver
S2-Pixelgeneral


So?:


C++:
case WM_LBUTTONUP:
        
        
GetCursorPos(&p);
ScreenToClient(mm_window,&p);




Das geht aber nicht.
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )

Dieser Post wurde am 29.06.2003 um 14:34 Uhr von Oliver Müller editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
29.06.2003, 15:16 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Oliver,
also : Du befindest Dich in der Callback WinProc()
p ist vom Typ Point, das Fensterhandle erhälst Du vom ersten Parameter der Callback.

C++:
case WM_LBUTTONDOWN:
     GetCursorPos(&p);
     ScreenToClient(hWnd,&p);
     if(p.x >100)
     MessageBox(NULL,"Cursor über 100","Cursor",MB_OK);
break;


--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 29.06.2003 um 15:17 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: