void CActiveXUI::SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue) { if( _tcscmp(pstrName, _T("clsid")) == 0 ) CreateControl(pstrValue); else if( _tcscmp(pstrName, _T("modulename")) == 0 ) SetModuleName(pstrValue); else if( _tcscmp(pstrName, _T("delaycreate")) == 0 ) SetDelayCreate(_tcscmp(pstrValue, _T("true")) == 0); else CControlUI::SetAttribute(pstrName, pstrValue); }
// 从XML设置DelayCreate属性 HRESULT CDuiWkeView::OnAttributeDelayCreate(const CString& strValue, BOOL bLoading) { if (strValue.IsEmpty()) return E_FAIL; SetDelayCreate(strValue == _T("true")); return bLoading?S_FALSE:S_OK; }
void CActiveXUI::SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue) { switch(pstrName[0]) { case 'c': if( _tcscmp(pstrName, _T("clsid")) == 0 ) {CreateControl(pstrValue);return ;} break case 'm': if( _tcscmp(pstrName, _T("modulename")) == 0 ) {SetModuleName(pstrValue);return ;} break; case 'd': if( _tcscmp(pstrName, _T("delaycreate")) == 0 ) {SetDelayCreate(_tcscmp(pstrValue, _T("true")) == 0);return ;} break; } CControlUI::SetAttribute(pstrName, pstrValue); }