OnNcCalcSize 改变非客户区的疑问?????????????

hktl 2009-12-07 03:38:10
新建一个CDialog工程.
然后OnNcCalcSize
if(bCalcValidRects)
{
CRect l = lpncsp->rgrc[0];
lpncsp->rgrc[0].left +=30;
lpncsp->rgrc[0].top +=30;
lpncsp->rgrc[0].right -=30;
lpncsp->rgrc[0].bottom -=30;
lpncsp->rgrc[1] = l;
//return ;
}
CDialog::OnNcCalcSize(bCalcValidRects, lpncsp);

界面上是起作用了,
但多出来的非客户区,接受不了NC系列的消息,加了OnNcLButtonUp测试,基本没反应,
只有在原来的非客户区才有反应

是我的OnNcCalcSize设置有问题吗,
还是缺少其它的设置,为什么新的非客户区不能接受NC消息.
...全文
145 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyingmeteors 2009-12-07
  • 打赏
  • 举报
回复
需要重写OnNcHitTest,windows系统是根据WM_NCHITTEST来确认区域的。
Conry 2009-12-07
  • 打赏
  • 举报
回复
OnNcHitTest是不是也要重写

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧