| The Lord of Programming Living Legend
 
  
 Alter: 38
 Anmeldedatum: 14.03.2003
 Beiträge: 3122
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 20.06.2004, 20:59    Titel: [Win32] Falsche Mauskoordinaten bei Fensteranwendungen |   |  
				| 
 |  
				| Frage: 
 Ich habe eine Fensteranwendung geschrieben und ermittle die Mauskoordinaten über den Messagehandler. Aber die Koordinaten sind immer verschoben.
 
 Was kann ich tun? Ich bin so verzweifelt.
   
 Antwort:
 
 Der Messagehandler gibt nicht die Koordinaten der Maus auf dem Bildschirm zurück, sondern die Koordinaten im Fenster. Deshalb müssen sie erst noch umgerechnet werden. Dafür gibt es zwei Funktionen, die sie mithilfe des Fensterhandles umrechnen können.
 
 1.)	ClientToScreen(Fenster -> Bildschirm)
 
  	  | Code: |  	  | POINT coordinates; coordinates.x=x_coords_of_messagehandler;
 coordinates.y=y_coords_of_messagehandler;
 
 ClientToScreen(hWnd,&coordinates);
 //coordinates enthält jetzt die Bildschirmkoordinaten
 | 
 2.)	ScreenToClient(Bildschirm -> Fenster)
 
  	  | Code: |  	  | POINT coordinates; coordinates.x=x_screencoords;
 coordinates.y=y_screencoords;
 
 ScreenToClient(hWnd,&coordinates);
 //coordinates enthält jetzt die Fensterkoordinaten
 | 
 _________________
 www.visualgamesentertainment.net
 Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
 (1) Realtime Developer Testing and Debugging Console
 
   Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
 Hilf Schäuble! Damit er auch was findet...
 |  |