[C/C++] Changer le curseur de la souris ?

Changer le curseur de la souris ? [C/C++] - C++ - Programmation

Marsh Posté le 25-06-2003 à 15:01:41    

bonjour !
 
je voudrai changer le curseur de la souris mais je n'y arrive pas ...
 
il me semble que ce doit etre avec  
 

Code :
  1. wcHautGauche.hCursor = LoadCursor(NULL, IDC_UPARROW);


 
mais quels sont les autres types de curseur pour mettre à la place de IDC_UPARROW  :??:  
 
merci !  :jap:

Reply

Marsh Posté le 25-06-2003 à 15:01:41   

Reply

Marsh Posté le 25-06-2003 à 15:03:50    

Code :
  1. IDC_APPSTARTING Standard arrow and small hourglass
  2. IDC_ARROW       Standard arrow
  3. IDC_CROSS       Crosshair
  4. IDC_HAND        Windows 2000: Hand
  5. IDC_HELP        Arrow and question mark
  6. IDC_IBEAM       I-beam
  7. IDC_ICON        Obsolete for applications marked version 4.0 or later.
  8. IDC_NO          Slashed circle
  9. IDC_SIZE        Obsolete for applications marked version 4.0 or later. Use IDC_SIZEALL.
  10. IDC_SIZEALL     Four-pointed arrow pointing north, south, east, and west
  11. IDC_SIZENESW    Double-pointed arrow pointing northeast and southwest
  12. IDC_SIZENS      Double-pointed arrow pointing north and south
  13. IDC_SIZENWSE    Double-pointed arrow pointing northwest and southeast
  14. IDC_SIZEWE      Double-pointed arrow pointing west and east
  15. IDC_UPARROW     Vertical arrow
  16. IDC_WAIT        Hourglass


 
Sais tu qu'il y a MSDN?  ;)  
(l'horrible documentation de Microsoft, utile uniquement quand tu connais déjà les technos)


Message édité par Spad VIII le 25-06-2003 à 15:05:24

---------------
[:spad viii] Restons calme!
Reply

Marsh Posté le 25-06-2003 à 15:08:08    

:)  
 
merci bcp !
 
je sais bien qu'il existe la MSDN mais g pas trouvé (je sais, je dois pas être doué  :sarcastic: )
 
g pas trouvé non plus dans petzold ....
 
par contre ca marche bien :)

Reply

Marsh Posté le 25-06-2003 à 15:18:23    

Par contre on peut changer le curseur qd on veut, par exemple en cliquant sur un bouton ?
 
pq si je mets  
 

Code :
  1. wcHautGauche.hCursor = LoadCursor(NULL, IDC_UPARROW);

 
dans le style de ma fenetre avant de la construire ca va.
 
par contre si je modifie le style, le curseur est pas mis à jour.
 
il faut appeller une fonction de màj du curseur dans ce cas ?

Reply

Marsh Posté le 25-06-2003 à 15:22:42    

CaMarchePoa a écrit :

Code :
  1. wcHautGauche.hCursor = LoadCursor(NULL, IDC_UPARROW);



 
Là, il me semble que tu changes la classe de ta fenêtre. Tu lui indiques que cette classe de fenêtre utilise le curseur IDC_UPARROW.
Pour changer plus tard, il te faut utiliser la fonction SetCursor.


---------------
each day I don't die is cheating
Reply

Marsh Posté le 25-06-2003 à 15:52:14    

voilà ce que j'ai trouvé :)
 

Code :
  1. If you use child windows, you may want the cursor to appear differently, depending on the child window below the cursor. If your program defines the window class for these child windows, you can use different cursors for each class by appropriately setting the hCursor field in each window class. And if you use predefined child window controls, you can alter the hCursor field of the window class by using
  2. SetClassLong (hwndChild, GCL_HCURSOR,
  3.               LoadCursor (hInstance, TEXT ("childcursor" )) ;
  4. If you separate your client area into smaller logical areas without using child windows, you can use SetCursor to change the mouse cursor:
  5. SetCursor (hCursor) ;
  6. You should call SetCursor during processing of the WM_MOUSEMOVE message. Otherwise, Windows uses the cursor specified in the window class to redraw the cursor when it is moved. The documentation indicates that SetCursor is fast if the cursor doesn't have to be changed.


 
 
en gros il faut mettre le SetCursor dans le WM_MOUSEMOVE sinon on utilise le curseur par défaut !
 
voilà c cool  :)
 
merci à tous !


Message édité par camarchepoa le 25-06-2003 à 15:53:14
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed