Tom's Guide > Forum > Programmation > [MFC]cree une zone de selection
Mot :    Pseudo :           
 

salut, je voudrais creer une zone de selection qui commence lorsque je presse le bouton gauche de la souris commence, ensuite lorsque je bouge ma souris en laissant le bouton gauche efoncer, la zone de selecton rectangulaire s'agrandi.Et une fois que je relache le bouton gauche, j'aurais un rectangle de la taille de ma zone de selection.

Mais je ne sais pas comment le programmer, est ce que quelqu'un pourrait m'aider?

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

en flash tu peux le faire sinon avec un script en javascript

Répondre à vortex-graphik

oui ,mais je doit le faire en C++ car c'est une application MFC

Répondre à jiraya43

Tu peux le faire complètement ou utiliser la méthode DrawDragRect.

En gros :
- il faut que tu gères l'évenement WM_LBUTTONDOWN pour enregistrer les cordoonnées du premier point de ton rectangle.
- il faut que tu gères l'évenement WM_MOUSEMOVE pour créer le rectangle à afficher en fonction du premier point et du point courant (le mieux est d'utiliser NormalizeRect pour que le rectangle soit toujours cohérent) et appeler DrawDragRect.
- il faut que tu gères l'évenement WM_LBUTTONUP pour pouvoir enregistrer la sélection finale et en faire ce que tu veux.

PS: Si tu veux garder la main sur le tracé même si l'utilisateur sort de la fenêtre, alors il faut utiliser SetCapture dans WM_LBUTTONDOWN et ReleaseCapture dans le WM_LBUTTONUP.

Répondre à ataofeal

merci pour cette reponse claire

Répondre à jiraya43

salut, j'ai essayer DrawDragRect, mais ca ne le reconnait pas, comment faut il l'utiliser

Répondre à jiraya43

un bon exemple valant mieux qu'un long discours incompréhensible : par ici

Répondre à ataofeal

merci, avec ca je devrai y arriver

Répondre à jiraya43
Tom's Guide > Forum > Programmation > [MFC]cree une zone de selection
Aller à :

Il y a 2653 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens