C# 改变无边框窗体尺寸大小的方法
Code highlighting produced by Actipro CodeHighlighter (freeware)
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#实现窗体控件随窗体大小改变(包括字体大小) 修正版
- [转]C#无边框窗体移动的三种方法
- C#中怎么使控件随着窗体的大小改变而改变
- C#中WinForm实现控件随窗体大小自适应改变
- C#控件随窗体大小改变而改变
- 【C#】窗体控件随窗体大小改变(包括字体大小)
- 去掉窗体的边框,并且禁止拖动改变窗体大小