void CGroupsUI::SetChildVisible(Node* node, bool visible) { if (!node || node == root_node_) return; if (node->data().child_visible_ == visible) return; node->data().child_visible_ = visible; TCHAR szBuf[MAX_PATH] = {0}; CDuiString html_text; if (node->data().has_child_) { if (node->data().child_visible_) html_text += level_expand_image_; else html_text += level_collapse_image_; _stprintf_s(szBuf, MAX_PATH - 1, _T("<x %d>"), level_text_start_pos_); html_text += szBuf; html_text += node->data().text_; CLabelUI* nick_name = static_cast<CLabelUI*>(paint_manager_.FindSubControlByName(node->data().list_elment_, kNickNameControlName)); if (nick_name != NULL) { nick_name->SetShowHtml(true); nick_name->SetText(html_text); } } if (!node->data().list_elment_->IsVisible()) return; if (!node->has_children()) return; Node* begin = node->child(0); Node* end = node->get_last_child(); for (int i = begin->data().list_elment_->GetIndex(); i <= end->data().list_elment_->GetIndex(); ++i) { CControlUI* control = GetItemAt(i); if (_tcsicmp(control->GetClass(), _T("ListContainerElementUI")) == 0) { if (visible) { Node* local_parent = ((Node*)control->GetTag())->parent(); if (local_parent->data().child_visible_ && local_parent->data().list_elment_->IsVisible()) { control->SetVisible(true); } } else { control->SetVisible(false); } } } }
LRESULT WindowImplBase::OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { if (wParam == SC_CLOSE) { bHandled = TRUE; SendMessage(WM_CLOSE); return 0; } #if defined(WIN32) && !defined(UNDER_CE) BOOL bZoomed = ::IsZoomed(*this); LRESULT lRes = CWindowWnd::HandleMessage(uMsg, wParam, lParam); if( ::IsZoomed(*this) != bZoomed ) { CControlUI* pbtnMax = static_cast<CControlUI*>(m_PaintManager.FindControl(_T("maxbtn"))); // max button CControlUI* pbtnRestore = static_cast<CControlUI*>(m_PaintManager.FindControl(_T("restorebtn"))); // restore button // toggle status of max and restore button if (pbtnMax && pbtnRestore) { pbtnMax->SetVisible(TRUE == bZoomed); pbtnRestore->SetVisible(FALSE == bZoomed); } } #else LRESULT lRes = CWindowWnd::HandleMessage(uMsg, wParam, lParam); #endif return lRes; }
void Notify(TNotifyUI& msg) { if( msg.sType == _T("windowinit") ) OnPrepare(); else if( msg.sType == _T("click") ) { if( msg.pSender == m_pCloseBtn ) { PostQuitMessage(0); return; } #if defined(UI_BUILD_FOR_WIN32) && !defined(UI_BUILD_FOR_WINCE) else if( msg.pSender == m_pMinBtn ) { SendMessage(WM_SYSCOMMAND, SC_MINIMIZE, 0); return; } else if( msg.pSender == m_pMaxBtn ) { SendMessage(WM_SYSCOMMAND, SC_MAXIMIZE, 0); return; } else if( msg.pSender == m_pRestoreBtn ) { SendMessage(WM_SYSCOMMAND, SC_RESTORE, 0); return; } #else else if( msg.pSender == m_pMinBtn ) { ::ShowWindow(*this, SW_MINIMIZE); return; } else if( msg.pSender == m_pMaxBtn ) { ::ShowWindow(*this, SW_MAXIMIZE); CControlUI* pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("maxbtn"))); if( pControl ) pControl->SetVisible(false); pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("restorebtn"))); if( pControl ) pControl->SetVisible(true); return; } else if( msg.pSender == m_pRestoreBtn ) { ::ShowWindow(*this, SW_RESTORE); CControlUI* pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("maxbtn"))); if( pControl ) pControl->SetVisible(true); pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("restorebtn"))); if( pControl ) pControl->SetVisible(false); return; } #endif } else if(msg.sType==_T("setfocus")) { CStdString name = msg.pSender->GetName(); CTabLayoutUI* pControl = static_cast<CTabLayoutUI*>(m_pm.FindControl(_T("switch"))); if(name==_T("examine")) pControl->SelectItem(0); else if(name==_T("trojan")) pControl->SelectItem(1); else if(name==_T("plugins")) pControl->SelectItem(2); else if(name==_T("vulnerability")) pControl->SelectItem(3); else if(name==_T("rubbish")) pControl->SelectItem(4); else if(name==_T("cleanup")) pControl->SelectItem(5); else if(name==_T("fix")) pControl->SelectItem(6); else if(name==_T("tool")) pControl->SelectItem(7); } }
LRESULT CMainWindow::OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { try { // 有时会在收到WM_NCDESTROY后收到wParam为SC_CLOSE的WM_SYSCOMMAND if( wParam == SC_CLOSE ) { Sleep(1000); ::PostQuitMessage(0L); bHandled = TRUE; return 0; } BOOL bZoomed = ::IsZoomed(*this); LRESULT lRes = CWindowWnd::HandleMessage(uMsg, wParam, lParam); if( ::IsZoomed(*this) != bZoomed ) { if( !bZoomed ) { CControlUI* pControl = static_cast<CControlUI*>(GetPaintMgr()->FindControl(sysbtn::kMaxBtn)); if( pControl ) pControl->SetVisible(false); pControl = static_cast<CControlUI*>(GetPaintMgr()->FindControl(sysbtn::kRestoreBtn)); if( pControl ) pControl->SetVisible(true); } else { CControlUI* pControl = static_cast<CControlUI*>(GetPaintMgr()->FindControl(sysbtn::kMaxBtn)); if( pControl ) pControl->SetVisible(true); pControl = static_cast<CControlUI*>(GetPaintMgr()->FindControl(sysbtn::kRestoreBtn)); if( pControl ) pControl->SetVisible(false); } } return lRes; } catch (...) { throw _T("CMainWindow::OnSysCommand"); } }
LRESULT WindowImplBase::OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { if (wParam == SC_CLOSE) { bHandled = TRUE; SendMessage(WM_CLOSE); return 0; } #if defined(WIN32) && !defined(UNDER_CE) BOOL bZoomed = ::IsZoomed(*this); LRESULT lRes = CWindowWnd::HandleMessage(uMsg, wParam, lParam); if( ::IsZoomed(*this) != bZoomed ) { if( !bZoomed ) { CControlUI* pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("maxbtn"))); if( pControl ) pControl->SetVisible(false); pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("restorebtn"))); if( pControl ) pControl->SetVisible(true); } else { CControlUI* pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("maxbtn"))); if( pControl ) pControl->SetVisible(true); pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("restorebtn"))); if( pControl ) pControl->SetVisible(false); } } #else LRESULT lRes = CWindowWnd::HandleMessage(uMsg, wParam, lParam); #endif return lRes; }
LRESULT ChatDialog::OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { #if defined(WIN32) && !defined(UNDER_CE) BOOL bZoomed = ::IsZoomed(m_hWnd); LRESULT lRes = CWindowWnd::HandleMessage(uMsg, wParam, lParam); if (::IsZoomed(m_hWnd) != bZoomed) { if (!bZoomed) { CControlUI* pControl = static_cast<CControlUI*>(paint_manager_.FindControl(kMaxButtonControlName)); if( pControl ) pControl->SetVisible(false); pControl = static_cast<CControlUI*>(paint_manager_.FindControl(kRestoreButtonControlName)); if( pControl ) pControl->SetVisible(true); } else { CControlUI* pControl = static_cast<CControlUI*>(paint_manager_.FindControl(kMaxButtonControlName)); if( pControl ) pControl->SetVisible(true); pControl = static_cast<CControlUI*>(paint_manager_.FindControl(kRestoreButtonControlName)); if( pControl ) pControl->SetVisible(false); } } #else return __super::OnSysCommand(uMsg, wParam, lParam, bHandled); #endif return 0; }
LRESULT WindowImplBase::OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { if (wParam == SC_CLOSE) { bHandled = TRUE; SendMessage(WM_CLOSE); return 0; } #if defined(WIN32) && !defined(UNDER_CE) BOOL bZoomed = ::IsZoomed(*this); LRESULT lRes = CWindowWnd::HandleMessage(uMsg, wParam, lParam); if( ::IsZoomed(*this) != bZoomed ) { CControlUI* pbtnMax = static_cast<CControlUI*>(m_PaintManager.FindControl(_T("maxbtn"))); // 最大化按钮 CControlUI* pbtnRestore = static_cast<CControlUI*>(m_PaintManager.FindControl(_T("restorebtn"))); // 还原按钮 // 切换最大化按钮和还原按钮的状态 if (pbtnMax && pbtnRestore) { pbtnMax->SetVisible(TRUE == bZoomed); // 此处用表达式是为了避免编译器BOOL转换的警告 pbtnRestore->SetVisible(FALSE == bZoomed); } } #else LRESULT lRes = CWindowWnd::HandleMessage(uMsg, wParam, lParam); #endif if (SC_RESTORE == (wParam & 0xfff0)) { bHandled = FALSE; } return lRes; }
LRESULT CMainWnd::OnSysCommand( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) { // 有时会在收到WM_NCDESTROY后收到wParam为SC_CLOSE的WM_SYSCOMMAND if( wParam == SC_CLOSE ) { ::PostQuitMessage(0L); bHandled = TRUE; return 0; } BOOL bZoomed = ::IsZoomed(*this); LRESULT lRes = CWindowWnd::HandleMessage(uMsg, wParam, lParam); if( ::IsZoomed(*this) != bZoomed ) { if( !bZoomed ) { CControlUI* pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("maxbtn"))); if( pControl ) pControl->SetVisible(false); pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("restorebtn"))); if( pControl ) pControl->SetVisible(true); } else { CControlUI* pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("maxbtn"))); if( pControl ) pControl->SetVisible(true); pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("restorebtn"))); if( pControl ) pControl->SetVisible(false); } } return lRes; }
void CDuiFrameWnd::FullScreen( bool bFull ) { CControlUI* pbtnFull = m_PaintManager.FindControl(_T("btnScreenFull")); CControlUI* pbtnNormal = m_PaintManager.FindControl(_T("btnScreenNormal")); CControlUI* pUICaption = m_PaintManager.FindControl(_T("ctnCaption")); int iBorderX = GetSystemMetrics(SM_CXFIXEDFRAME) + GetSystemMetrics(SM_CXBORDER); int iBorderY = GetSystemMetrics(SM_CYFIXEDFRAME) + GetSystemMetrics(SM_CYBORDER); if (pbtnFull && pbtnNormal && pUICaption) { m_bFullScreenMode = bFull; if (bFull) { ::GetWindowPlacement(*this, &m_OldWndPlacement); if (::IsZoomed(*this)) { ::ShowWindow(*this, SW_SHOWDEFAULT); } ::SetWindowPos(*this, HWND_TOPMOST, -iBorderX, -iBorderY, GetSystemMetrics(SM_CXSCREEN) + 2 * iBorderX, GetSystemMetrics(SM_CYSCREEN) + 2 * iBorderY, 0); ShowPlaylist(false); } else { ::SetWindowPlacement(*this, &m_OldWndPlacement); ::SetWindowPos(*this, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE); } pbtnNormal->SetVisible(bFull); pUICaption->SetVisible(! bFull); pbtnFull->SetVisible(! bFull); } }
LRESULT WindowImplBase::OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { if (wParam == SC_CLOSE) { bHandled = TRUE; SendMessage(WM_CLOSE); return 0; } #if defined(WIN32) && !defined(UNDER_CE) BOOL bZoomed = ::IsZoomed(*this); LRESULT lRes = CWindowWnd::HandleMessage(uMsg, wParam, lParam); if( ::IsZoomed(*this) != bZoomed ) { CControlUI* pbtnMax = static_cast<CControlUI*>(m_PaintManager.FindControl(_T("maxbtn"))); // 鏈�澶у寲鎸夐挳 CControlUI* pbtnRestore = static_cast<CControlUI*>(m_PaintManager.FindControl(_T("restorebtn"))); // 杩樺師鎸夐挳 // 鍒囨崲鏈�澶у寲鎸夐挳鍜岃繕鍘熸寜閽殑鐘舵�� if (pbtnMax && pbtnRestore) { pbtnMax->SetVisible(TRUE == bZoomed); // 姝ゅ鐢ㄨ〃杈惧紡鏄负浜嗛伩鍏嶇紪璇戝櫒BOOL杞崲鐨勮鍛� pbtnRestore->SetVisible(FALSE == bZoomed); } } #else LRESULT lRes = CWindowWnd::HandleMessage(uMsg, wParam, lParam); #endif //if (SC_RESTORE == (wParam & 0xfff0))//澶т經锛氫慨澶嶇獥鍙f渶灏忓寲鍚庯紝鍐嶅洖澶嶆棤娉曡繑鍥炲師濮嬬獥鍙g殑闂 //{ // bHandled = FALSE; //} return lRes; }
LRESULT MainDialog::OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { if( wParam == SC_CLOSE ) { ::PostQuitMessage(0L); bHandled = TRUE; return 0; } BOOL bZoomed = ::IsZoomed(*this); LRESULT lRes = __super::HandleMessage(uMsg, wParam, lParam); if( ::IsZoomed(*this) != bZoomed ) { if( !bZoomed ) { CControlUI* pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("maxbtn"))); if( pControl ) pControl->SetVisible(false); pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("restorebtn"))); if( pControl ) pControl->SetVisible(true); } else { CControlUI* pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("maxbtn"))); if( pControl ) pControl->SetVisible(true); pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("restorebtn"))); if( pControl ) pControl->SetVisible(false); } } return lRes; }
void MainFrame::Notify(TNotifyUI& msg) { if (_tcsicmp(msg.sType, kWindowInit) == 0) { OnPrepare(msg); } else if (_tcsicmp(msg.sType, kClick) == 0) { if (_tcsicmp(msg.pSender->GetName(), kCloseButtonControlName) == 0) { OnExit(msg); } else if (_tcsicmp(msg.pSender->GetName(), kMinButtonControlName) == 0) { #if defined(UNDER_CE) ::ShowWindow(m_hWnd, SW_MINIMIZE); #else SendMessage(WM_SYSCOMMAND, SC_MINIMIZE, 0); #endif } else if (_tcsicmp(msg.pSender->GetName(), kMaxButtonControlName) == 0) { #if defined(UNDER_CE) ::ShowWindow(m_hWnd, SW_MAXIMIZE); CControlUI* pControl = static_cast<CControlUI*>(paint_manager_.FindControl(kMaxButtonControlName)); if( pControl ) pControl->SetVisible(false); pControl = static_cast<CControlUI*>(paint_manager_.FindControl(kRestoreButtonControlName)); if( pControl ) pControl->SetVisible(true); #else SendMessage(WM_SYSCOMMAND, SC_MAXIMIZE, 0); #endif } else if (_tcsicmp(msg.pSender->GetName(), kRestoreButtonControlName) == 0) { #if defined(UNDER_CE) ::ShowWindow(m_hWnd, SW_RESTORE); CControlUI* pControl = static_cast<CControlUI*>(paint_manager_.FindControl(kMaxButtonControlName)); if( pControl ) pControl->SetVisible(true); pControl = static_cast<CControlUI*>(paint_manager_.FindControl(kRestoreButtonControlName)); if( pControl ) pControl->SetVisible(false); #else SendMessage(WM_SYSCOMMAND, SC_RESTORE, 0); #endif } else if (_tcsicmp(msg.pSender->GetName(), _T("btn_menu")) == 0) { CMenuWnd* pMenu = new CMenuWnd(m_hWnd); CPoint point = msg.ptMouse; ClientToScreen(m_hWnd, &point); STRINGorID xml(IDR_XML_MENU); pMenu->Init(NULL, xml, _T("xml"), point); } } else if (_tcsicmp(msg.sType, kTimer) == 0) { return OnTimer(msg); } }
void CDuiFrameWnd::ShowPlayButton( bool bShow ) { CControlUI *pbtnPlay = m_PaintManager.FindControl(_T("btnPlay")); CControlUI *pbtnPause = m_PaintManager.FindControl(_T("btnPause")); if (pbtnPlay && pbtnPause) { pbtnPlay->SetVisible(bShow); pbtnPause->SetVisible(! bShow); } }
NSDUILIB_API void SetControlData(HWND hwndParent, int string_size, char *variables, stack_t **stacktop, extra_parameters *extra) { TCHAR controlName[MAX_PATH]; TCHAR controlData[MAX_PATH]; TCHAR dataType[MAX_PATH]; EXDLL_INIT(); ZeroMemory(controlName, MAX_PATH*sizeof(TCHAR)); ZeroMemory(controlData, MAX_PATH*sizeof(TCHAR)); ZeroMemory(dataType, MAX_PATH*sizeof(TCHAR)); popstring( controlName,sizeof(controlName)); popstring( controlData,sizeof(controlData)); popstring( dataType,sizeof(dataType)); CControlUI* pControl = static_cast<CControlUI*>(g_pFrame->GetPaintManager().FindControl( controlName )); if( pControl == NULL ) return; if( _tcsicmp( dataType, _T("text") ) == 0 ) { if( _tcsicmp( controlData, _T("error")) == 0 || _tcsicmp( controlData, _T("")) == 0 ) pControl->SetText( pControl->GetText() ); else pControl->SetText( controlData ); } else if( _tcsicmp( dataType, _T("bkimage") ) == 0 ) { if( _tcsicmp( controlData, _T("error")) == 0 || _tcsicmp( controlData, _T("")) == 0 ) pControl->SetBkImage( pControl->GetBkImage()); else pControl->SetBkImage( controlData ); } else if( _tcsicmp( dataType, _T("link") ) == 0 ) { g_controlLinkInfoMap[controlName] = controlData; } else if( _tcsicmp( dataType, _T("enable") ) == 0 ) { if( _tcsicmp( controlData, _T("true")) == 0 ) pControl->SetEnabled( true ); else if( _tcsicmp( controlData, _T("false")) == 0 ) pControl->SetEnabled( false ); } else if( _tcsicmp( dataType, _T("visible") ) == 0 ) { if( _tcsicmp( controlData, _T("true")) == 0 ) pControl->SetVisible( true ); else if( _tcsicmp( controlData, _T("false")) == 0 ) pControl->SetVisible( false ); } }
void CDuiFrameWnd::ShowPlaylist( bool bShow ) { CControlUI *pctnPlaylist = m_PaintManager.FindControl(_T("ctnPlaylist")); CControlUI *pbtnHide = m_PaintManager.FindControl(_T("btnPlaylistHide")); CControlUI *pbtnShow = m_PaintManager.FindControl(_T("btnPlaylistShow")); if (pctnPlaylist && pbtnHide && pbtnShow) { pctnPlaylist->SetVisible(bShow); pbtnHide->SetVisible(bShow); pbtnShow->SetVisible(! bShow); } }
void CEICFrameWindow::Notify(TNotifyUI& msg) { if( msg.sType == _T("windowinit") ) { OnInitWindows(); } else if( msg.sType == _T("click") ) { CStdString sCtrlName = msg.pSender->GetName(); if( sCtrlName == _T("closebtn") ) { PostQuitMessage(0); return; } #if defined(UI_BUILD_FOR_WIN32) && !defined(UI_BUILD_FOR_WINCE) else if( sCtrlName == _T("minbtn")) { SendMessage(WM_SYSCOMMAND, SC_MINIMIZE, 0); return; } else if( sCtrlName == _T("maxbtn")) { SendMessage(WM_SYSCOMMAND, SC_MAXIMIZE, 0); return; } else if( sCtrlName == _T("restorebtn")) { SendMessage(WM_SYSCOMMAND, SC_RESTORE, 0); return; } #else else if( sCtrlName == _T("minbtn") ) { ::ShowWindow(*this, SW_MINIMIZE); return; } else if( sCtrlName == _T("maxbtn") ) { ::ShowWindow(*this, SW_MAXIMIZE); CControlUI* pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("maxbtn"))); if( pControl ) pControl->SetVisible(false); pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("restorebtn"))); if( pControl ) pControl->SetVisible(true); return; } else if( sCtrlName == _T("restorebtn") ) { ::ShowWindow(*this, SW_RESTORE); CControlUI* pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("maxbtn"))); if( pControl ) pControl->SetVisible(true); pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("restorebtn"))); if( pControl ) pControl->SetVisible(false); return; } #endif } }
void CLoginWnd::SwitchWind(bool dlg /* = true */) { //dlg为true表示登陆输入切换,dlg为false表示停滞切换 CControlUI *pbtcancel = m_PaintManager.FindControl(_T("ContainerCancelLogin")); CControlUI *pbtlogin = m_PaintManager.FindControl(_T("ContainerForLogin")); if (dlg) { pbtcancel->SetVisible(true); pbtlogin->SetVisible(false); } else { pbtcancel->SetVisible(false); pbtlogin->SetVisible(true); } }
void CMediaWin::FullScreen(bool bFull /* = true */) { CControlUI* pUICaption = GetPaintMgr()->FindControl(_T("caption")); int iBorderX = GetSystemMetrics(SM_CXFIXEDFRAME) + GetSystemMetrics(SM_CXBORDER); int iBorderY = GetSystemMetrics(SM_CYFIXEDFRAME) + GetSystemMetrics(SM_CYBORDER); if (_ui.m_pFullScreenBtn && _ui.m_pNormalBtn && pUICaption) { m_bFullScreenMode = bFull; if (bFull) { ::GetWindowPlacement(*this, &m_OldWndPlacement); if (::IsZoomed(*this)) { ::ShowWindow(*this, SW_SHOWDEFAULT); } ::SetWindowPos(*this, HWND_TOPMOST, -iBorderX, -iBorderY, GetSystemMetrics(SM_CXSCREEN) + 2 * iBorderX, GetSystemMetrics(SM_CYSCREEN) + 2 * iBorderY, 0); } else { ::SetWindowPlacement(*this, &m_OldWndPlacement); ::SetWindowPos(*this, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE); } _ui.m_pNormalBtn->SetVisible(bFull); pUICaption->SetVisible(! bFull); _ui.m_pFullScreenBtn->SetVisible(! bFull); } }
bool PopupMenu::AddMenuItem(std::wstring menu_item_title, int menu_item_tag, bool enable, bool checked, bool add_seperate, const std::wstring& icon) { CListUI* menu_list = static_cast<CListUI*>(paint_manager_.FindControl(kMenuList)); if (menu_list != NULL) { CDialogBuilder builder; CListContainerElementUI* menu_item = static_cast<CListContainerElementUI*>(builder.Create(kMenuItemSkin, (UINT)0, NULL, &paint_manager_)); if (menu_item != NULL) { menu_item_tags_.push_back(menu_item_tag); CLabelUI* item_title = static_cast<CLabelUI*>(paint_manager_.FindSubControlByName(menu_item, kMenuItemTitleName)); CControlUI* item_image = paint_manager_.FindSubControlByName(menu_item, kMenuItemImageName); CControlUI* underline = paint_manager_.FindSubControlByName(menu_item, kMenuItemUnderlineName); if ((item_title != NULL) && (item_image != NULL) && (underline != NULL)) { if (checked) item_image->SetBkImage(kMenuCheckPngName); else if (!icon.empty()) item_image->SetBkImage(icon.c_str()); underline->SetVisible(add_seperate); item_title->SetText(menu_item_title.c_str()); item_title->SetEnabled(enable); } menu_item->SetVisible(true); menu_list->Add(menu_item); return true; } } return false; }
void CDuiFrameWnd::InitWindow() { CControlUI *btn = m_PaintManager.FindControl(_T("dangerous_HorizontalLayoutUI9")); btn->SetVisible(false); btn = m_PaintManager.FindControl(_T("window_VerticalLayout")); btn->SetBkImage(_T("skin_1.png")); // CControlUI *btn = m_PaintManager.FindControl(_T("danerous2_HorizontalLayoutUI10")); }
LRESULT WindowImplBase::OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { if (m_bFrameWnd) { bHandled = FALSE; return 0; } SIZE szRoundCorner = m_PaintManager.GetRoundCorner(); #if defined(WIN32) && !defined(UNDER_CE) if( !::IsIconic(*this) && (szRoundCorner.cx != 0 || szRoundCorner.cy != 0) ) { CDuiRect rcWnd; ::GetWindowRect(*this, &rcWnd); rcWnd.Offset(-rcWnd.left, -rcWnd.top); rcWnd.right++; rcWnd.bottom++; HRGN hRgn = ::CreateRoundRectRgn(rcWnd.left, rcWnd.top, rcWnd.right, rcWnd.bottom, szRoundCorner.cx, szRoundCorner.cy); ::SetWindowRgn(*this, hRgn, TRUE); ::DeleteObject(hRgn); } #endif if (wParam != m_dwWindowPosState && (wParam==SIZE_MAXIMIZED || wParam==SIZE_RESTORED) && GetManager()->GetRoot()) { CControlUI* btnmax = FindControl(_T("maxbtn")); CControlUI* btnrestore = FindControl(_T("restorebtn")); if (btnmax && btnrestore) { if (wParam == SIZE_MAXIMIZED) { btnmax->SetVisible(false); btnrestore->SetVisible(true); } else { btnmax->SetVisible(true); btnrestore->SetVisible(false); } } } m_dwWindowPosState = wParam; bHandled = FALSE; return 0; }
virtual LRESULT OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { BOOL bZoomed = ::IsZoomed(m_hWnd); LRESULT lRes = CWindowWnd::HandleMessage(uMsg, wParam, lParam); if (::IsZoomed(m_hWnd) != bZoomed) { if (!bZoomed) { CControlUI* pControl = static_cast<CControlUI*>(m_PaintManager.FindControl(_T("maxbtn"))); if (pControl) pControl->SetVisible(false); pControl = static_cast<CControlUI*>(m_PaintManager.FindControl(_T("restorebtn"))); if (pControl) pControl->SetVisible(true); } else { CControlUI* pControl = static_cast<CControlUI*>(m_PaintManager.FindControl(_T("maxbtn"))); if (pControl) pControl->SetVisible(true); pControl = static_cast<CControlUI*>(m_PaintManager.FindControl(_T("restorebtn"))); if (pControl) pControl->SetVisible(false); } } return 0; }
void MainDialog::OnTextChanged(TNotifyUI& msg) { if (msg.pSender->GetName() == _T("editSearch")) { CEditUI* pCEditUI = static_cast<CEditUI*>(m_PaintManager.FindControl(_T("editSearch"))); CControlUI* pMainListLayout = m_PaintManager.FindControl(_T("MainListLayout")); if (pMainListLayout && pCEditUI) { if (!pCEditUI->GetText().IsEmpty()) { pMainListLayout->SetVisible(false); } else { pMainListLayout->SetVisible(true); } } } }
void Notify(TNotifyUI& msg) { if( msg.sType == _T("windowinit") ) OnPrepare(); else if( msg.sType == _T("click") ) { if( msg.pSender == m_pCloseBtn ) { PostQuitMessage(0); return; } #if defined(UI_BUILD_FOR_WIN32) && !defined(UI_BUILD_FOR_WINCE) else if( msg.pSender == m_pMinBtn ) { SendMessage(WM_SYSCOMMAND, SC_MINIMIZE, 0); return; } else if( msg.pSender == m_pMaxBtn ) { SendMessage(WM_SYSCOMMAND, SC_MAXIMIZE, 0); return; } else if( msg.pSender == m_pRestoreBtn ) { SendMessage(WM_SYSCOMMAND, SC_RESTORE, 0); return; } #else else if( msg.pSender == m_pMinBtn ) { ::ShowWindow(*this, SW_MINIMIZE); return; } else if( msg.pSender == m_pMaxBtn ) { ::ShowWindow(*this, SW_MAXIMIZE); CControlUI* pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("maxbtn"))); if( pControl ) pControl->SetVisible(false); pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("restorebtn"))); if( pControl ) pControl->SetVisible(true); return; } else if( msg.pSender == m_pRestoreBtn ) { ::ShowWindow(*this, SW_RESTORE); CControlUI* pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("maxbtn"))); if( pControl ) pControl->SetVisible(true); pControl = static_cast<CControlUI*>(m_pm.FindControl(_T("restorebtn"))); if( pControl ) pControl->SetVisible(false); return; } #endif } }
LRESULT MainFrame::OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { BOOL bZoomed = ::IsZoomed(m_hWnd); LRESULT lRes = CWindowWnd::HandleMessage(uMsg, wParam, lParam); if (::IsZoomed(m_hWnd) != bZoomed) { if (!bZoomed) { CControlUI* pControl = static_cast<CControlUI*>(m_PaintManager.FindControl(kMaxButtonControlName)); if (pControl) pControl->SetVisible(false); pControl = static_cast<CControlUI*>(m_PaintManager.FindControl(kRestoreButtonControlName)); if (pControl) pControl->SetVisible(true); } else { CControlUI* pControl = static_cast<CControlUI*>(m_PaintManager.FindControl(kMaxButtonControlName)); if (pControl) pControl->SetVisible(true); pControl = static_cast<CControlUI*>(m_PaintManager.FindControl(kRestoreButtonControlName)); if (pControl) pControl->SetVisible(false); } } return 0; }
LRESULT WindowImplBase::OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { SIZE szRoundCorner = m_PaintManager.GetRoundCorner(); #if defined(WIN32) && !defined(UNDER_CE) if( !::IsIconic(*this) && (szRoundCorner.cx != 0 || szRoundCorner.cy != 0) ) { CDuiRect rcWnd; ::GetWindowRect(*this, &rcWnd); rcWnd.Offset(-rcWnd.left, -rcWnd.top); rcWnd.right++; rcWnd.bottom++; HRGN hRgn = ::CreateRoundRectRgn(rcWnd.left, rcWnd.top, rcWnd.right, rcWnd.bottom, szRoundCorner.cx, szRoundCorner.cy); ::SetWindowRgn(*this, hRgn, TRUE); ::DeleteObject(hRgn); } #endif // 切换最大化按钮和还原按钮的状态 if (wParam != m_dwWindowPosState && (wParam == SIZE_MAXIMIZED || wParam == SIZE_RESTORED) && GetPaintManager()->GetRoot()) { CControlUI* pbtnMax = static_cast<CControlUI*>(m_PaintManager.FindControl(_T("maxbtn"))); // 最大化按钮 CControlUI* pbtnRestore = static_cast<CControlUI*>(m_PaintManager.FindControl(_T("restorebtn"))); // 还原按钮 if (pbtnMax && pbtnRestore){ if (wParam == SIZE_MAXIMIZED){ pbtnMax->SetVisible(false); pbtnRestore->SetVisible(true); } else{ pbtnMax->SetVisible(true); pbtnRestore->SetVisible(false); } } } //m_dwWindowPosState来保存上一次的窗口状态, 只有当状态不同时才会切换按钮. m_dwWindowPosState = wParam; bHandled = FALSE; return 0; }
void CDuiFrameWnd::ShowPlayWnd( bool bShow ) { CControlUI *pbtnWnd = m_PaintManager.FindControl(_T("wndMedia")); CControlUI *pbtnStop = m_PaintManager.FindControl(_T("btnStop")); CControlUI *pbtnScreen = m_PaintManager.FindControl(_T("btnScreenFull")); CControlUI *pctnURL = m_PaintManager.FindControl(_T("ctnURL")); CControlUI *pctnClient = m_PaintManager.FindControl(_T("ctnClient")); CControlUI *pctnMusic = m_PaintManager.FindControl(_T("ctnMusic")); CControlUI *pctnSlider = m_PaintManager.FindControl(_T("ctnSlider")); if (pbtnWnd && pbtnStop && pbtnScreen && pctnURL && pctnClient && pctnMusic && pctnSlider) { pbtnStop->SetEnabled(bShow); pbtnScreen->SetEnabled(bShow); pctnURL->SetVisible(! bShow); pctnClient->SetVisible(! bShow); pctnSlider->SetVisible(bShow); // 打开文件时 if (bShow) { if (IsMusicFile(m_strPath)) { pbtnWnd->SetVisible(! bShow); pctnMusic->SetVisible(bShow); } else { pbtnWnd->SetVisible(bShow); pctnMusic->SetVisible(! bShow); } } // 关闭文件时 else { pctnMusic->SetVisible(false); pbtnWnd->SetVisible(false); } } }
void CMainDialog::OnKillFocus( CControlUI* pSender ) { if (pSender->GetName() == _T ("editSearch")) { CControlUI* pbtnTip = static_cast <CControlUI*> (m_pm.FindControl(_T ("btnTip"))); CEditUI* peditSearch = static_cast <CEditUI*> (m_pm.FindControl(_T ("editSearch"))); if (pbtnTip && peditSearch) { CDuiString strText = peditSearch->GetText(); if (strText.IsEmpty()) { strText = "請輸入查找條件"; pbtnTip->SetAttribute(_T("textcolor"), _T("#00A0A0A4")); } else { pbtnTip->SetAttribute(_T("textcolor"), _T("#FF000000")); } pbtnTip->SetText(strText); pbtnTip->SetVisible(true); } } }
LRESULT CDuilib3dFrame::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam) { LRESULT lRes = 0; BOOL bHandled = TRUE; switch( uMsg ) { case WM_CREATE: lRes = OnCreate(uMsg, wParam, lParam, bHandled); break; case WM_CLOSE: lRes = OnClose(uMsg, wParam, lParam, bHandled); break; case WM_DESTROY: lRes = OnDestroy(uMsg, wParam, lParam, bHandled); break; case WM_NCACTIVATE: lRes = OnNcActivate(uMsg, wParam, lParam, bHandled); break; case WM_NCCALCSIZE: lRes = OnNcCalcSize(uMsg, wParam, lParam, bHandled); break; case WM_NCPAINT: lRes = OnNcPaint(uMsg, wParam, lParam, bHandled); break; case WM_NCHITTEST: lRes = OnNcHitTest(uMsg, wParam, lParam, bHandled); break; case WM_SIZE: lRes = OnSize(uMsg, wParam, lParam, bHandled); break; case WM_GETMINMAXINFO: lRes = OnGetMinMaxInfo(uMsg, wParam, lParam, bHandled); break; case WM_SYSCOMMAND: lRes = OnSysCommand(uMsg, wParam, lParam, bHandled); break; case WM_USER+1: { CControlUI* pControl = (CControlUI*)lParam; pControl->SetVisible(true); }break; default: bHandled = FALSE; } if( bHandled ) { return lRes; } if( m_PaintManager.MessageHandler(uMsg, wParam, lParam, lRes) ) { return lRes; } return CWindowWnd::HandleMessage(uMsg, wParam, lParam); }
void MessageBoxWhd::InitWindow() { CLabelUI* pLbl = NULL; CControlUI* pCtl = NULL; if (m_uType == Info) { pLbl = static_cast<CLabelUI*> (m_PaintManager.FindControl(_T("lab_msg_info"))); pCtl = static_cast<CLabelUI*> (m_PaintManager.FindControl(_T("ctl_msg_info"))); } else if (m_uType == Warn) { pLbl = static_cast<CLabelUI*> (m_PaintManager.FindControl(_T("lab_msg_warn"))); pCtl = static_cast<CLabelUI*> (m_PaintManager.FindControl(_T("ctl_msg_warn"))); } else if (m_uType == Error) { pLbl = static_cast<CLabelUI*> (m_PaintManager.FindControl(_T("lab_msg_error"))); pCtl = static_cast<CLabelUI*> (m_PaintManager.FindControl(_T("ctl_msg_error"))); } pLbl->SetVisible(true); pCtl->SetVisible(true); std::stringstream ss; ss<<"lbl_msg_"<<m_uMsgCode; CLabelUI* pTextUI = static_cast<CLabelUI*> (m_PaintManager.FindControl(Base::CharacterSet::ANSIToUnicode(ss.str()).c_str())); if (pTextUI) { pTextUI->SetVisible(true); if (!m_dstrExMsg.IsEmpty()) { CDuiString theMsg = pTextUI->GetText(); theMsg.Replace(_T("$"), m_dstrExMsg); pTextUI->SetText(theMsg); } } }