Maison >développement back-end >C++ >Les formulaires sans bordure peuvent-ils être rendus mobiles en cliquant dessus ?
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!