读书人

如何重画 CToolBar 的非客户区

发布时间: 2012-03-08 13:30:13 作者: rapoo

怎么重画 CToolBar 的非客户区
我在 OnPaint 中使用了 CWindowDC wdc(this);
利用 wdc 可以在非客户区画图,
但为什么我通过

Invalidate(TRUE);
UpdateWindow();

不能让它重画呢?

多谢!

[解决办法]
Invalidate(TRUE);
UpdateWindow();

这两个函数只是更新客户区呀,跟非客户区没有关系呀。如果要处理非客户区,你应该要处理WM_NCPAINT消息呀。不过ToolBar也许可以在Custom Draw中处理。你可以试试吧。
[解决办法]
定义CToolBar继承类,响应OnEraseBkgnd消息
[解决办法]
Invalidate(false);
[解决办法]
可不可能是函数调用的地方出错了?写在视类里边了?

读书人网 >VC/MFC

热点推荐