Déplacer une fenêtre sans la barre de titre ? [Résolu]

Signaler
Messages postés
14
Date d'inscription
vendredi 22 août 2003
Statut
Membre
Dernière intervention
9 décembre 2008
-
Messages postés
14
Date d'inscription
vendredi 22 août 2003
Statut
Membre
Dernière intervention
9 décembre 2008
-
Bonjour, je cherche a rendre ma Form déplaçable sans que la barre de
titre ne soit visible (j'ai un panel en guise de barre de titre, qui
est plus joli). Un peu comme MSN Messenger, où on peut bouger la liste
de contacts et les fenêtres de conversation sans pour autant cliquer
sur la barre de titre.

J'ai essayé d'utiliser la fonction DoDrag dans l'event MouseDown, mais je n'ai pas trouvé comment faire bouger la fenetre..

3 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
33
Salut, voilà comment on peut déplacer une forme sans bordure, il s'agit de mentir à Windows et lui dire que le curseur est sur la barre de titre alors qu'il est dans l'air client:


private
const
int WM_NCHITTEST = 0x0084;

private
const
int HTCLIENT = 1;

private
const
int HTCAPTION = 2;

protected
override
void WndProc(
ref
Message m )
{

base.WndProc(
ref m );

if ( m.Msg == WM_NCHITTEST )
{

if ( m.Result == (
IntPtr )HTCLIENT )
{
m.Result = (
IntPtr )HTCAPTION;
}
}
}
Messages postés
14
Date d'inscription
vendredi 22 août 2003
Statut
Membre
Dernière intervention
9 décembre 2008

Salut Lutinore

Je n'ai pas testé ta solution, mais l'utilisation de l'API windows dans
le code source http://www.csharpfr.com/code.aspx?id=11602 (bien qu'elle
fasse appel à une dll externe) fonctionne très bien et est simple.

Merci d'avoir répondu
Messages postés
14
Date d'inscription
vendredi 22 août 2003
Statut
Membre
Dernière intervention
9 décembre 2008

j'ai trouvé (enfin je crois) :

http://www.csharpfr.com/code.aspx?id=11602

j'ai pas le temps de lire le code tout de suite, mais le programme ressemble a peu près à ce que je veux faire..