自绘窗口时的问题

jamesclarke 2005-07-10 07:46:00
我在利用OnNCPaint来自己绘制窗口边框以及标题栏时发现,有的时候当我把鼠标移到窗口原来的标题栏的位置时,原来windows默认样式的标题栏会出现,再拖动窗口,才会消失显示出我的自绘标题栏。这是为什么呢?还有,如果我在创建窗口时,把Close按钮的属性去掉后,整个窗口最大化时就和平常最大化的情况不一样了,窗口的下边会叠在任务栏后面,而平常的最大化应该是紧贴任务栏的阿。这有时怎么一回事呢?希望高手能指点一下迷津!万分感谢!
...全文
299 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
goodboyws 2005-07-11
重载几个消息
WM_INITMENU
WM_NCHITTEST
WM_SETCURSOR
WM_NCLBUTTONDOWN
WM_NCLBUTTONDBLCLK
这些消息都会对标题栏进行更新
回复
CodeKey 2005-07-11
可以得到任务条的高度的
RECT rect;
HWND hWnd = ::FindWindow("Shell_TrayWnd", 0);
::GetWindowRect(hWnd,&rect);
回复
jamesclarke 2005-07-10
呵呵,这样啊。在不同分辨率下任务栏是不是一样高呢
回复
artmouse 2005-07-10
任务栏的高度,估计一下可以了吧,不用那么准吧,我当时就是差不多就算了,没用程序取
回复
jamesclarke 2005-07-10
那么如何得到任务栏的高度呢?我想movewindow之后窗口能紧贴任务栏
回复
artmouse 2005-07-10
2,这个问题我也遇到过,这个好像是windows内部的问题,如果问题不大就不要管它了,如果实在不行,好像截了那个最大化 的消息,然后用movewindow来搞是可以的,以前我做过,但是找不到代码了
回复
CodeKey 2005-07-10
1.估计
OnNcActivate(BOOL bActive)
{
return TRUE;
}

2.
使用movewindow来制作最大化
回复
发帖
界面
创建于2007-09-28

1.5w+

社区成员

VC/MFC 界面
申请成为版主
帖子事件
创建了帖子
2005-07-10 07:46
社区公告
暂无公告