winform 无边框 Mdi容器 如何缩放Form?
我想自定义form样式,我绘了背景什么的,最后这个Form要用作Mdi,我准备用DockPanel这个控件,把Form的isMdiContainer设置为true后,我绘的样式都没了。。而且不能缩放了。 我之前的缩放是用的protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
//case 0xA3://WM_NCLBUTTONDBLCLK=163 <0xA3>拦截鼠标非客户区左键双击消息,决定窗体是否最大化显示
// base.WndProc(ref m);
// this.Invalidate();
// return;
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;
}
}
第一次做winform 不知道应该怎么设计。。都搞了3天了界面 还很多地方都没弄好啊 大家帮忙啊。。 顺便告诉我下 我这样设计界面行不行, 我想实现的1,form的 borderstyle为null 我要自己设计标题栏等, 2 要使用dockpanel这个控件··
坐等啊······
分不是很多, , 有了在补上啊·· --------------------编程问答-------------------- 同样的问题 同求 --------------------编程问答-------------------- 你这个问题解决了吗?
我正面对这么一个难题,收到信息请跟我联系aganqin@gmail.com
QQ:28437257 --------------------编程问答-------------------- 控件重绘为什么要用 dockpanel呢,。
补充:.NET技术 , C#