// UI初始化,此函数在窗口的OnCreate函数中调用 void CDuiMenu::InitUI(CRect rcClient) { // 如果有菜单项的预设置值,则设置相应的值到控件 if(m_vecMenuItemValue.size() > 0) { for (size_t i = 0; i < m_vecMenuItemValue.size(); i++) { MenuItemValue& itemValue = m_vecMenuItemValue.at(i); CControlBase* pControlBase = GetControl(itemValue.strName); if(pControlBase) { if(!itemValue.strTitle.IsEmpty()) { ((CControlBaseFont*)pControlBase)->SetTitle(itemValue.strTitle); } if(!itemValue.bVisible) { pControlBase->SetVisible(FALSE); } if(itemValue.bDisable) { pControlBase->SetDisable(TRUE); } if(itemValue.nCheck != -1) { ((CMenuItem*)pControlBase)->SetCheck(itemValue.nCheck); } } } // 刷新菜单项位置信息 SetMenuPoint(); } }
// 禁用控件 CControlBase * CDlgPopup::SetControlDisable(UINT uControlID, BOOL bDisable) { CControlBase *pControlBase = GetControl(uControlID); if(pControlBase) { pControlBase->SetDisable(bDisable); UpdateHover(); } return pControlBase; }