C# 改变无边框窗体尺寸大小的方法
2015-01-29 17:36
645 查看
const int HTLEFT = 10; const int HTRIGHT = 11; const int HTTOP = 12; const int HTTOPLEFT = 13; const int HTTOPRIGHT = 14; const int HTBOTTOM = 15; const int HTBOTTOMLEFT = 0x10; const int HTBOTTOMRIGHT = 17; protected override void WndProc(ref Message m) { switch (m.Msg) { case 0x0084: base.WndProc(ref m); Point vPoint = new Point((int)m.LParam & 0xFFFF, (int)m.LParam >> 16 & 0xFFFF); vPoint = PointToClient(vPoint); if (vPoint.X <= 5) if (vPoint.Y <= 5) m.Result = (IntPtr)HTTOPLEFT; else if (vPoint.Y >= ClientSize.Height - 5) m.Result = (IntPtr)HTBOTTOMLEFT; else m.Result = (IntPtr)HTLEFT; else if (vPoint.X >= ClientSize.Width - 5) if (vPoint.Y <= 5) m.Result = (IntPtr)HTTOPRIGHT; else if (vPoint.Y >= ClientSize.Height - 5) m.Result = (IntPtr)HTBOTTOMRIGHT; else m.Result = (IntPtr)HTRIGHT; else if (vPoint.Y <= 5) m.Result = (IntPtr)HTTOP; else if (vPoint.Y >= ClientSize.Height - 5) m.Result = (IntPtr)HTBOTTOM; break; case 0x0201://鼠标左键按下的消息 m.Msg = 0x00A1;//更改消息为非客户区按下鼠标 m.LParam = IntPtr.Zero;//默认值 m.WParam = new IntPtr(2);//鼠标放在标题栏内 base.WndProc(ref m); break; default: base.WndProc(ref m); break; } }
相关文章推荐
- C# 改变无边框窗体尺寸大小的方法
- C# 改变无边框窗体的尺寸大小
- C# WinForm 拖动无边框窗体 改变无边框窗体尺寸
- C# 无边框窗体随意拖动和改变尺寸
- C#无边框窗体调整大小的方法
- C# 无边框窗体随意拖动和改变尺寸【转载】
- c# 改变无边框窗体大小 张宇轩
- C#中无边框窗体改变大小
- C# 无边框窗体随意拖动和改变尺寸
- c#利用消息给无边框窗体改变大小
- C#使窗体无法改变大小只能最大化最小化显示的方法
- C#中无边框窗体改变大小
- C# 无边框窗体随意拖动和改变尺寸
- c#一种简单快速改变窗体风格和肤色的方法源码及其控件
- VB中对象随窗体而改变大小的方法总结
- C#的WinForm中如何让窗体大小不能改变
- 去掉窗体的边框,并且禁止拖动改变窗体大小
- C#里WinForm开发中如何实现控件随窗体大小的改变而自动适应其改变
- [转]C#无边框窗体移动的三种方法
- C#下改变窗体大小