使用Duilib自定义控件时,在xml中使用该自定义控件,并且设置name的值,如例句:
<MyButton name="btnDown" text="向上" width="40" foreimage="dest='12,7,28,23' res='menu/icon.png'" textpadding="0,0,0,5" align="center" valign="bottom" style="btn_style"/>
其中MyButton继承至Button控件,但是这里的name属性的值设置成“btnDown”,在使用:
CMyButtonUI pDownMyBtn=static_cast<CMyButtonUI*>(m_pPm->FindControl(_T("btnDown")));
一直找不到真正的子类new的对象,后来将“btnDown”改成“bntMyDown”就能够找到正确的对象,所以猜测可能是duilib空中的某个控件占用了“btnDown”这个值,导致无法获取正确的对象。所以在这里记录一下,避免下次出错。