int CZiMainFrame::AddComboItem(LPCTSTR lpctsName) { Assert(lpctsName); CComboUI * pSearchCombo = DuiControl(CComboUI, _T("SearchCombo")); CListLabelElementUI * pItemUi = new CListLabelElementUI; if(!pItemUi) return -1; pItemUi->SetAttribute(_T("text"), lpctsName); pItemUi->SetAttribute(_T("font"), _T("2")); pItemUi->SetAttribute(_T("height"), _T("23")); RECT rect = {8,1,1,1}; pItemUi->SetPadding(rect); if(!pSearchCombo->Add(pItemUi)) { delete pItemUi; return -1; } return 0; }
void CMyList::Init(CPaintManagerUI* ppm) { CDialogBuilder builder; CContainerUI* pList = static_cast<CContainerUI*>(builder.Create(_T("mylist.xml"), 0, NULL, ppm)); if( pList != NULL ) { for(int i = 0; i < 100; ++i) { if( pList == NULL ) pList = static_cast<CContainerUI*>(builder.Create()); if( pList != NULL ) { this->Add(pList); TCHAR indexBuffer[16]; CDuiString strIndexString = _T("- "); strIndexString += _itot(i+1, indexBuffer, 10); strIndexString += _T(" -"); pList->GetItemAt(0)->SetText(strIndexString); CComboUI* pCombo = static_cast <CComboUI*> (pList->GetItemAt(1)); if (pCombo != NULL) { for (int j = 0; j < 3; ++j) { CListLabelElementUI* pComboItem = new CListLabelElementUI; pComboItem->SetText("xxx"); pCombo->Add(pComboItem); } } pList->GetItemAt(0)->OnEvent += MakeDelegate (this, &CMyList::OnTheEvent); pList->GetItemAt(1)->OnEvent += MakeDelegate (this, &CMyList::OnTheEvent); pList->GetItemAt(2)->OnEvent += MakeDelegate (this, &CMyList::OnTheEvent); pList->OnEvent += MakeDelegate (this, &CMyList::OnTheEvent); pList = NULL; } else { this->RemoveAll(); return; } } } }
//重读talkIngame.ini void CRightFrame::OnReLoadTalkINI() { CComboUI* pCobCtrl = static_cast<CComboUI*>(m_pm.FindControl("Talk_Cob_Inp")); CEditUI* pEditCtrl = static_cast<CEditUI*>(m_pm.FindControl("Talk_Edt_Inp")); if (!pCobCtrl || !pEditCtrl) { return; } //清除原来内容 pCobCtrl->RemoveAll(); CBcfFile f("talkInGame.bcf"); CString key="BZW_TALK"; CString szTalk; CString szNumber; int nIdx = 0; do { szNumber.Format("%d",++nIdx); szTalk = f.GetKeyVal(key,"T"+szNumber,""); if (!szTalk.IsEmpty()) { CListLabelElementUI* p = new CListLabelElementUI(); p->SetText(szTalk.GetBuffer()); pCobCtrl->Add(p); } } while(!szTalk.IsEmpty()); SIZE si = {-1,600}; pCobCtrl->SetDropBoxSize(si); pEditCtrl->SetText(_T("")); return; }
void CMainDialog::OnClick( CControlUI* pSender) { if (pSender->GetName() == TEXT ("btnExit")) { PostQuitMessage(0); return; } else if (pSender->GetName() == _T ("btnTip")) { CControlUI* pbtnTip = static_cast <CControlUI*> (m_pm.FindControl(_T ("btnTip"))); if (pbtnTip) { pbtnTip->SetVisible(false); } CEditUI* peditSearch = static_cast <CEditUI*> (m_pm.FindControl(_T ("editSearch"))); if (peditSearch != NULL) { peditSearch->SetFocus(); } } else if (pSender->GetName() == _T ("lstDelButton")) { int iIndex = 0; CMyList* pParent = static_cast <CMyList*> (pSender->GetParent()->GetParent()); if (pParent) { iIndex = pParent->GetItemIndex(pSender->GetParent()); } CDuiString str; str.Format(_T ("您要删除 %d 项"), iIndex); if (IDNO == MessageBox (GetHWND (), str, NULL, MB_OK | MB_YESNO)) return; CMyList* pList = static_cast <CMyList*> (m_pm.FindControl(_T ("lstControl"))); ASSERT(pList); if (pList) { pList->RemoveAt(iIndex); CControlUI* pItem = pList->GetItemAt(iIndex+5); if (pItem) { const RECT& rc = pItem->GetPos(); SIZE sz = {0, rc.top}; pList->SetScrollPos(sz); } } } else if (pSender->GetName() == _T ("btnAddComboItem")) { CComboUI* pcbx = static_cast <CComboUI*> (m_pm.FindControl(_T ("combo1"))); assert (pcbx); if (pcbx) { CListLabelElementUI* pItem = new CListLabelElementUI (); pItem->SetText(_T ("{b}{i}新加项{/i}{/b}")); pcbx->Add(pItem); } AddComboboxItem(); CComboUI* pcbx2 = static_cast <CComboUI*> (m_pm.FindControl(_T ("combo2"))); } else if (pSender->GetName() == _T ("btnGoIe")) { CActiveXUI* pActiveXUI = static_cast<CActiveXUI*>(m_pm.FindControl(_T("ie"))); if( pActiveXUI ) { IWebBrowser2* pWebBrowser = NULL; pActiveXUI->GetControl(IID_IWebBrowser2, (void**)&pWebBrowser); if( pWebBrowser != NULL ) { CEditUI* pEdit = static_cast <CEditUI*> (m_pm.FindControl(_T ("editIePath"))); ASSERT (pEdit); CDuiString strIePath = _T ("www.baidu.com"); if (pEdit) { strIePath = pEdit->GetText(); } WCHAR szPath [1024] = {0}; #if defined(_UNICODE) || defined(UNICODE) lstrcpyW (szPath, strIePath); #else ::MultiByteToWideChar(CP_ACP, 0, strIePath, -1, szPath, 1023); #endif pWebBrowser->Navigate(szPath,NULL,NULL,NULL,NULL); pWebBrowser->Release(); } } } }