ホームページ >バックエンド開発 >C++ >フチなしフォームをクリックして移動可能にできますか?

フチなしフォームをクリックして移動可能にできますか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-24 15:47:12369ブラウズ

Can Borderless Forms Be Made Movable by Clicking on Them?

移動可能なフチなしフォームを作成する

枠なしフォームを作成しても、枠ありフォームと同様に、フォーム自体をクリックして移動することはできますか?

答え:

はい。 CodeProject は詳細なテクニックを提供します:

その中核となるソリューションには以下が含まれます:

<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>

このメソッドは、ウィンドウ マネージャーにメッセージを送信することで、ウィンドウのタイトル バーを取得する動作をシミュレートします。タイトル バー領域での左クリックをシミュレートし、枠線付きフォームと同じ移動メカニズムをトリガーします。

以上がフチなしフォームをクリックして移動可能にできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。