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消息.
...全文
103 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
flyingmeteors 2009-12-07
需要重写OnNcHitTest,windows系统是根据WM_NCHITTEST来确认区域的。
回复
Conry 2009-12-07
OnNcHitTest是不是也要重写
回复
相关推荐
发帖
界面
创建于2007-09-28

1.5w+

社区成员

VC/MFC 界面
申请成为版主
帖子事件
创建了帖子
2009-12-07 03:38
社区公告
暂无公告