duilib进阶教程 -- Label控件的bug (8)
2014-05-01 01:43
260 查看
上个教程说到了TreeView的文字不能垂直居中的问题,而我们用LabelUI其实是可以垂直居中的,为什么不说是TreeView的bug,而说是Label控件的bug呢?因为影响TreeView垂直居中的就是Label,可以发现LabelUI的【属性列表.XML】里有valign属性,而代码里却找不到,是因为valign属性被合并到align属性里去了,只要设置align="center"就可以水平垂直都居中,但是想要垂直居中,水平左对齐啥的,就犯难了,因此这里需要将两个属性分开,valign管垂直,align管水平,这样想要怎么组合都OK啦。
将CLabelUI::SetAttribute函数里if( _tcscmp(pstrName, _T("align")) == 0 ) 那一段代码改成下面这样即可。(记得重新编译duilib哦~)
嗯,实现了垂直居中的效果后,现在貌似和迅雷一模一样啦?
NO,NO,NO,下一节将会继续介绍~O(∩_∩)O~
将CLabelUI::SetAttribute函数里if( _tcscmp(pstrName, _T("align")) == 0 ) 那一段代码改成下面这样即可。(记得重新编译duilib哦~)
if( _tcscmp(pstrName, _T("align")) == 0 ) { if( _tcsstr(pstrValue, _T("left")) != NULL ) { m_uTextStyle &= ~(DT_CENTER | DT_RIGHT | DT_SINGLELINE); m_uTextStyle |= DT_LEFT; } if( _tcsstr(pstrValue, _T("center")) != NULL ) { m_uTextStyle &= ~(DT_LEFT | DT_RIGHT ); m_uTextStyle |= DT_CENTER; } if( _tcsstr(pstrValue, _T("right")) != NULL ) { m_uTextStyle &= ~(DT_LEFT | DT_CENTER | DT_SINGLELINE); m_uTextStyle |= DT_RIGHT; } } else if( _tcscmp(pstrName, _T("valign")) == 0 ) { if( _tcsstr(pstrValue, _T("top")) != NULL ) { m_uTextStyle &= ~(DT_BOTTOM | DT_VCENTER); m_uTextStyle |= (DT_TOP | DT_SINGLELINE); } if( _tcsstr(pstrValue, _T("vcenter")) != NULL ) { m_uTextStyle &= ~(DT_TOP | DT_BOTTOM ); m_uTextStyle |= (DT_VCENTER | DT_SINGLELINE); } if( _tcsstr(pstrValue, _T("bottom")) != NULL ) { m_uTextStyle &= ~(DT_TOP | DT_VCENTER); m_uTextStyle |= (DT_BOTTOM | DT_SINGLELINE); } }
嗯,实现了垂直居中的效果后,现在貌似和迅雷一模一样啦?
NO,NO,NO,下一节将会继续介绍~O(∩_∩)O~
相关文章推荐
- duilib进阶教程 -- TreeView控件的bug (9)
- duilib进阶教程 -- 各种控件的响应 (10)
- duilib进阶教程 -- 扩展duilib的消息 (11)
- duilib进阶教程 -- 改进窗口拖动 (12)
- duilib进阶教程 -- 响应windows原生消息和自定义消息(13)
- duilib进阶教程 -- Container控件的bug (14)
- duilib进阶教程 -- 设置资源路径 (15)
- duilib进阶教程 -- 改进List控件 (16)
- duilib进阶教程 -- 总结 (17)
- HDU 3415 Max Sum of Max-K-sub-sequence 最长K子段和
- 错误createSQLQuery is not valid without active transaction
- uiviewcontroller 转场放大缩小动画
- 18 Java design pattern questions.
- GUIComponents
- UESTC 360(1425) another LCIS
- iOS UIButton按钮 UILabel 文本
- POJ 1503 Integer Inquiry(大数相加,java)
- UI组件
- Arduino 按键控制有源蜂鸣器
- OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 函数