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

Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
- - Dernière réponse : cs_katman
Messages postés
5
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
2 septembre 2004
- 13 avril 2007 à 15:49
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

cs_katman
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+
Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
58 -
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
cs_katman
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.
Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
58 -
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...
cs_katman
Messages postés
5
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
2 septembre 2004
-
encore une source qu'elle est bonne et qui marche. en plus pas besoin d'api donc que du bonheur et une compatibilité à 200 % merci.