DÉPLACER LA FORM EN CLIQUANT ET GLISSANT AVEC LA SOURIS

Signaler
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Messages postés
5
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
2 septembre 2004
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/8468-deplacer-la-form-en-cliquant-et-glissant-avec-la-souris

Messages postés
5
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
2 septembre 2004

merci pour ton aide et A+
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
extraits de MSDN

The WM_NCLBUTTONDOWN message is posted when the user presses the left mouse button while the cursor is within the nonclient area of a window.
[...]
If a window has captured the mouse, this message is not posted. => d'où le ReleaseCapture

Parameters
wParam specifies the hit-test value indicating the position of the cursor hot spot

HTCAPTION In a title bar.
------------

tout est là :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/mouseinput/mouseinputreference/mouseinputmessages/wm_nclbuttondown.asp

là :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/mouseinput/mouseinputreference/mouseinputmessages/wm_nchittest.asp

et là :
http://msdn2.microsoft.com/en-us/library/ms646261.aspx
Messages postés
5
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
2 septembre 2004

je suis d'accord avec toi, mais dans la mesure ou l'on gère cette option au coup par coup et en fonction de form bien définie. Moi ma form dispose d'un MSCHart et d'un label donc en lourdeur pinuts.
c'est pour cela que je trouve que ta solution est plus simple que l'utilisation d'une API qui demande déjà forcément à la connaitre (ce qui n'est pas toujours évident) ensuite de comprendre comment elle marche et ce qu'elle veut comme paramètres (ce qui l'est encore moins).
Donc je maintient ta solution me convient mieux qu'une API.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
il ne faut pas avoir peur des API... pas de souci d'incompatibilité ici.

La version API dit :
"Si je clique dans la Form, considère que je clique dans la barre de titre."
derrière, Windows gère le déplacement de la fenêtre.

ici, on dit :
"Si je cliques sur la fenêtre, déplaces celle-ci"

Quelle différence me direz-vous ?
Et bien si l'utilisateur n'a pas activé l'option "Afficher le contenu des fenetres pendant leur déplacement (sous windows)", la fenetre sera affichée pendant son déplacement, puisque géré au fur et a mesure. Certaines machines peuvent donc subir des raffraichissement, surtout si la form est lourde (images, controles, etc...)

vaut mieux laisser Windows s'occuper de tout cela, non ?


Pour t'en convaincre, met le ScaleMode de ta Form sur '3 - pixels', et déplace ta fenetre...
Afficher les 10 commentaires