vc6.0实现xp风格,gripper does not redraw correctly

来源:互联网 发布:腾讯云 linux pptp 编辑:程序博客网 时间:2024/05/23 14:06

  用vc6.0做出来的界面中自定义的控件都是旧风格的,色彩及样式都没有xp下的好看,滚动条就是明显的例子。关于怎样在实现xp风格有很多方法。查资料发现用的最多的是采用manifest,我也没深究manifest到底是怎么回事,反正也不是专业人生,拿来可以用就行了。具体实现方便可参考网上资料。  

    但用后有一个新的问题,就是toolbar的左端绘制好像有问题,但发现toobar,gripper(我不知道中文翻成什么)附近的背景色好像没有重绘,网上也有人提到过这个问题,说是什么旧风格的toolbar和xp风格toolbar的尺寸差异造成的,要自己做细微调整。最后在网上找了很久才在一个论坛上发现了一个非常简单的办法。只需要建立一个继承CToolBar的类,然后响应背景重绘消息即可。

BOOL CXPClassicToolbar::OnEraseBkgnd(CDC* pDC)
{
CRect r;
pDC->GetClipBox(&r);

pDC->FillSolidRect(r.left, r.top, r.Width(), r.Height(),
::GetSysColor(COLOR_3DFACE));

return TRUE;
}
来源:www.themssforum.com/MFC/Manifest-grip/

原创粉丝点击