自定义边框Windows窗体和滚动条可见性
本文关键字:滚动条 可见性 窗体 边框 Windows 自定义 | 更新日期: 2023-09-27 17:50:24
我必须使用Windows窗体创建一个自定义边框窗口。目前我使用WM_NCCALSIZE来修改边界的大小,WM_NCPAINT用于自定义绘图。我意识到,当我在处理WM_NCCALSIZE消息时不调用基础windowproc时,滚动条将不会被绘制。那么,如果我手动处理WM_NCCALSIZE,我可以有一个本地的,正常的滚动条吗?我该怎么做呢?
你可以做的是首先调用base.WndProc(ref m)
,然后处理消息来修改边框的大小。
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
...
case WM_NCCALCSIZE:
{
base.WndProc(ref m);
//Work your magic...
}
default: base.WndProc(ref m);
}
}