Maison >développement back-end >C++ >Les formulaires sans bordure peuvent-ils être rendus mobiles en cliquant dessus ?

Les formulaires sans bordure peuvent-ils être rendus mobiles en cliquant dessus ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-24 15:47:12417parcourir

Can Borderless Forms Be Made Movable by Clicking on Them?

Créer un formulaire mobile sans bordure

Est-il possible de créer un formulaire sans bordure tout en pouvant le déplacer en cliquant sur le formulaire lui-même, tout comme un formulaire avec bordure ?

Réponse :

Oui. CodeProject fournit une technique détaillée :

Ses principales solutions comprennent :

<code class="language-c#">public const int WM_NCLBUTTONDOWN = 0xA1;
public const int HT_CAPTION = 0x2;

[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern bool ReleaseCapture();

private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{     
    if (e.Button == MouseButtons.Left)
    {
        ReleaseCapture();
        SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
    }
}</code>

Cette méthode simule le comportement de saisie de la barre de titre de la fenêtre en envoyant un message au gestionnaire de fenêtres. Il simule un clic gauche dans la zone de la barre de titre, déclenchant le même mécanisme de mouvement qu'un formulaire bordé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn