如何彻底让标题栏不让系统绘制窗口标题栏??????

anlun 2003-09-18 11:49:19
窗口风格有WS_SYSMENU,WS_MAXIMIZEBOX,WS_MINIMIZEBOX等风格要求不能改变窗口原有的风格
VCBASE.COM给的有问题当有属性时候包括VCPROJECT.COM上的同样有这个问题!
...全文
115 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cymlife 2003-09-18
  • 打赏
  • 举报
回复
我就已经实现啦:
去掉系统的标题栏,然后在Client留出一部分作为标题栏和边框,接管系统的消息:鼠标、重绘
anlun 2003-09-18
  • 打赏
  • 举报
回复
那些消息我处理了但明显感觉在我绘制前系统绘制了,感觉闪动尤其是最大化最小化按钮!还有窗口标题
CloudWater 2003-09-18
  • 打赏
  • 举报
回复
关注。
可以做到,但要写很能多代码。处理一堆消息的。
anlun 2003-09-18
  • 打赏
  • 举报
回复
只是处理这个消息还不行还有很多问题要处理比如动态拖动大小鼠标在窗口边缘等等都要处理!
要让标题栏彻底不让系统绘制全自己绘制!
bcpl 2003-09-18
  • 打赏
  • 举报
回复
case WM_NCPAINT:
{
DefWindowProc(hWnd, message, wParam, lParam);
HDC hdc = GetWindowDC(hWnd);

RECT rtWnd, rtTitle;
GetWindowRect(hWnd, &rtWnd);

rtTitle.left = GetSystemMetrics(SM_CXFRAME);
rtTitle.top = GetSystemMetrics(SM_CYFRAME);
rtTitle.right = rtWnd.right - rtWnd.left - GetSystemMetrics(SM_CXFRAME);
rtTitle.bottom = rtTitle.top + GetSystemMetrics(SM_CYCAPTION);

Rectangle(hdc, rtTitle.left, rtTitle.top, rtTitle.right, rtTitle.bottom);

ReleaseDC(hWnd, hdc);
return FALSE;

}
anlun 2003-09-18
  • 打赏
  • 举报
回复
没人能回答吗有点难度哦因为窗口在拖动点击等操作也要处理哦
anlun 2003-09-18
  • 打赏
  • 举报
回复
没有答案!:(
wuxfBrave 2003-09-18
  • 打赏
  • 举报
回复
去掉标题兰,自己实现一个标题兰
anlun 2003-09-18
  • 打赏
  • 举报
回复
不要Client实现因为我是用钩子该其它窗口标题栏

15,979

社区成员

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

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