首页 > 代码库 > 1 duilib 自绘标题 最大化图标显示bug ----WindowImplBase的bug
1 duilib 自绘标题 最大化图标显示bug ----WindowImplBase的bug
窗口最大化之后有两个问题,
1、最大化按钮的样式还是没变,正确的样式应该是这样的
2、再次点击最大化按钮,不能还原到正常大小。
这个是WindowImplBase的bug,已经提交给官方有一段时间了,但是貌似没有被合并到SVN上去,所以这里说明一下,
我们需要在WindowImplBase的OnSysCommand函数里,在if( ::IsZoomed(*this) != bZoomed )里面加上下面这段代码:
if( ::IsZoomed(*this) != bZoomed ) { CControlUI* pbtnMax = static_cast<CControlUI*>(m_PaintManager.FindControl(_T("maxbtn"))); // 最大化按钮 CControlUI* pbtnRestore = static_cast<CControlUI*>(m_PaintManager.FindControl(_T("restorebtn"))); // 还原按钮 // 切换最大化按钮和还原按钮的状态 if (pbtnMax && pbtnRestore) { pbtnMax->SetVisible(TRUE == bZoomed); // 此处用表达式是为了避免编译器BOOL转换的警告 pbtnRestore->SetVisible(FALSE == bZoomed); } }
原文:http://www.cnblogs.com/Alberl/p/3344886.html
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。