EVC3中,如何捕获WM_NCPAINT消息?

zhang_zhibin 2005-07-01 02:02:35
EVC自带的MSDN上没有找到这个消息,程序中也不能使用这个消息。所有头文件中也没有找到
发现vc6中此消息被预定义为0x0085,随用此值switch,依然无效。

单单截获WM_PAINT来重画窗口的话,画的依然不全面,因为我发现,如果一个BUTTON有WM_BORDER属性的话,无论怎样画,它的边框都在,在WM_PAINT中,直接用以下代码:
PAINTSTRUCT ps;
BeginPaint( m_hWnd, &ps );
EndPaint( m_hWnd, &ps );

HDC hDC = GetWindowDC( m_hWnd );
// draw with hDC
ReleaseDC( m_hWnd, hDC );

这个用GetWindowDC获取的DC可以把这个边框去掉。

问题再简单些就是:如何用自己的代码重画非客户区。
...全文
163 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhang_zhibin 2005-07-06
  • 打赏
  • 举报
回复
faint,没人回答?
版主呢?

help!!!
zhang_zhibin 2005-07-04
  • 打赏
  • 举报
回复
顶起来,请大家帮忙!
zhang_zhibin 2005-07-02
  • 打赏
  • 举报
回复
谢谢,我只是用按钮来举个例子,我是希望能捕获到系统画那个边框的消息。
也就是VC6里的WM_NCPAINT一类的东东
红牛哥110 2005-07-01
  • 打赏
  • 举报
回复
那你就用图片啊,我一般用图片做按钮
jun_01 2005-07-01
  • 打赏
  • 举报
回复
用个无边框窗体,然后自己想怎么绘就怎么绘,嘿嘿。
zhang_zhibin 2005-07-01
  • 打赏
  • 举报
回复
忘说了,没用MFC。

19,500

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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