首页 > 后端开发 > C++ > 可以通过单击它们使无边界表格可移动吗?

可以通过单击它们使无边界表格可移动吗?

Patricia Arquette
发布: 2025-01-24 15:47:12
原创
365 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板