Duilib 内部嵌入xml有两种方式:
方式一 :ChildLayout 使用<ChildLayout xmlfile="duiMenu.xml" float="true" pos="17,100,0,0" width="105" height="105" />
方式二:重写WindowImplBase::CreateControl(LPCTSTR pstrClass)
{
if (_tcsicmp(pstrClassName, _T("xml")) == 0)
{
CDialogBuilder builder;
CControlUI* pUI = builder.Create(_T("duiMenu.xml"));
return pUI;
}
return NULL;
}
这两个方式都可以实现
LPCTSTR CCalenderChild::GetWindowClassName() const
{
return L"CalenderChild";
}
CDuiString CCalenderChild::GetSkinFile()
{
return L"GifChild.xml";
}
CDuiString CCalenderChild::GetSkinFolder()
{
return L"";
}
void CCalenderChild::InitWindow()
{
m_pbkImage = static_cast<CContainerUI*>(m_PaintManager.FindControl(L"BkImage"));
if (!m_pbkImage)
return;
}