参考链接:
https://blog.csdn.net/tragicguy/article/details/21893065
https://blog.csdn.net/xdrt81y/article/details/17588961
主要有三步:
一、 修改CListHeaderItemUI的的基类,
由CControlUI 改为CContainerUIclass DUILIB_API CListHeaderItemUI : public CContainerUI
修改CListHeaderItemUI中所有出现的CControlUI ,全部改为CContainerUI。
二、重写CListContainerElementUI::SetPos函数
void CListContainerElementUI::SetPos(RECT rc, bool bNeedInvalidate) 中setpos函数,只需要重写这个函数的就行了。
如果不重写这个函数,会造成,第三列数据也写在第二列,数据重叠了。
三、XML的编写:
主XML:
<List name="listview" padding="15,15,0,0" width="350" height="340" headerbkimage="list_header_bg.png" style="list_style" itemlinecolor="#ffff0000" itemshowhtml="true" itemtextcolor="ff048ae0" bkcolor="ffffffff" itembkcolor="ffffffff" sepheight="5" itemfont="1" inset="1,1,1,1" bordercolor="#FF1B4876" bordersize="1" itemselectedtextcolor="ff048ae0" itemhottextcolor="ff048ae0" itemalign="center" vscrollbar="true" hscrollbar="true" sepwidth="2" sepimage="list_header_sep.png" >
<ListHeaderItem text="序号" width="80" inset="1,0,1,0" font="1" textcolor="ff048ae0" sepwidth="1" sepimage="list_header_sep.png" /> <!-- textcolor是设置表头的颜色 -->
<ListHeaderItem text="倒高" width="120" font="1" textcolor="ff048ae0" sepwidth="1" sepimage="list_header_sep.png"/>
<ListHeaderItem text="拉出值" width="120" font="1" textcolor="ff048ae0" sepwidth="1" sepimage="list_header_sep.png"/>
<include source="listitem.xml"/>
</List>
子XML为
对于ListContainerElement中 某一行数据为:
<?xml version="1.0" encoding="utf-8"?>
<Window >
<Font id="100" name="宋体" size="18" underline="true" shared="true"/>
<ListContainerElement name="con_1_conlist" height="30">
<Option name="data_1_opt" text="" padding="0,0,0,0" width="80" height="30" selected="true" align="center" normalimage="file='checkbox.png' source='30,0,45,15' dest='40,10,55,25' " selectedimage="file='checkbox.png' source='75,0,90,15' dest='40,10,55,25'" hotimage="file='checkbox.png' source='75,0,90,15' dest='40,10,55,25'"/>
<Label name="data_11_label" text="1002" width="120" align="center"/>
<Label name="data_12_label" text="91" width="120" align="center"/>
</ListContainerElement>
</Window>
.
根据上述三种就可以 修改了。效果下图所示:
来源:CSDN
作者:开心大爆炸
链接:https://blog.csdn.net/u012719076/article/details/103770128