CServerBrowser::~CServerBrowser( void ) { // Delete the gui items SAFE_DELETE( m_pStatusLabel ); SAFE_DELETE( m_pMessageBox ); SAFE_DELETE( m_pLockedImage ); SAFE_DELETE( m_pStatus ); SAFE_DELETE( m_pPlayers ); SAFE_DELETE( m_pFavourite ); SAFE_DELETE( m_pConnect ); SAFE_DELETE( m_pRefresh ); SAFE_DELETE( m_pTabs ); SAFE_DELETE( m_pWindow ); // Delete the quick connect gui SAFE_DELETE ( m_pQuickConnectCancel ); SAFE_DELETE ( m_pQuickConnectSubmit ); SAFE_DELETE ( m_pQuickConnectPassword ); SAFE_DELETE ( m_pQuickConnectPort ); SAFE_DELETE ( m_pQuickConnectAddress ); SAFE_DELETE ( m_pQuickConnectLabel ); SAFE_DELETE ( m_pQuickConnectWindow ); // Delete the server password instance SAFE_DELETE ( m_pServerPassword ); // Delete the server query instance SAFE_DELETE ( m_pServerQuery ); // Delete the masterlist instance SAFE_DELETE( m_pMasterList ); // Delete the tabs DeleteTab( INTERNET ); DeleteTab( HOSTED ); DeleteTab( FAVOURITES ); DeleteTab( HISTORY ); }
void JXTabGroup::HandleMouseUp ( const JPoint& pt, const JXMouseButton button, const JXButtonStates& buttonStates, const JXKeyModifiers& modifiers ) { if (itsDragAction == kClose) { if (button == kJXLeftButton && itsClosePushedFlag && OKToDeleteTab(itsMouseIndex)) { DeleteTab(itsMouseIndex); } } itsScrollUpPushedFlag = itsScrollDownPushedFlag = itsClosePushedFlag = kJFalse; Refresh(); }
void CGraphicTabControl::ChangeTabClient( int iTab, CWnd* pClient ) { if( m_bChangingClient ) return; ASSERT_RETURN( iTab >= 0 && iTab < GetTabCount() && pClient != NULL ); if( TabExists( pClient ) ) { // make sure window is shown and update tab bar layout pClient->ShowWindow(SW_SHOW); RecalcLayout(); UpdateWindow(); return; // nothing to do } SECTab* ptab = GetTabPtr(iTab); ASSERT_RETURN( ptab ); CWnd* pOldClient = (CWnd*)ptab->m_pClient; // check to see if we really need to do anything if( pOldClient == pClient ) { pClient->ShowWindow( SW_SHOW ); return; } m_bChangingClient = true; // hide both windows pClient->ShowWindow(SW_HIDE); pOldClient->ShowWindow(SW_HIDE); CString tabName = ptab->m_csLabel; InsertTab( iTab, tabName, pClient, NULL, NULL ); // remove old tab ActivateTab( iTab ); DeleteTab( iTab + 1 ); pClient->ShowWindow(SW_SHOW); RecalcLayout(); UpdateWindow(); m_bChangingClient = false; return; }
void CGuiMDITabbed::UpdateWindows() { /* Modified by SunZhenyu SetTimer(1,200,NULL); */ KillTimer(1); CWnd* pWnd=CWnd::FromHandle(::GetTopWindow(GetParentFrame()->GetSafeHwnd())); char ClassName[32]; while (pWnd != NULL) { ::GetClassName(pWnd->GetSafeHwnd(),ClassName,32); CString szClassName=ClassName; if(szClassName=="MDIClient") break; pWnd=pWnd->GetNextWindow(); } ASSERT(::IsWindow(pWnd->GetSafeHwnd())); //primero adicionar los nuevos CWnd* pChild= CWnd::FromHandle(::GetTopWindow(pWnd->GetSafeHwnd())); while(pChild != NULL) { CString m_Caption; pChild->GetWindowText(m_Caption); if (!m_Caption.IsEmpty()) { if (!FindItem(pChild->GetSafeHwnd())) Addtab(pChild,m_Caption,-1); else UpdateCaption(pChild,m_Caption); } pChild= CWnd::FromHandle(::GetNextWindow(pChild->GetSafeHwnd(), GW_HWNDNEXT)); } /* Modified by SunZhenyu */ // get active child frame, modified 2003/6/19 CMDIFrameWnd* pFrame = DYNAMIC_DOWNCAST(CMDIFrameWnd, GetParentFrame()); CMDIChildWnd* pActiveChild = NULL; if( pFrame ) pActiveChild = pFrame->MDIGetActive(); // get active child frame, modified 2003/6/19 //---eliminar las ventanas borradas int nNumtabs=GetCount(); for (int i=0; i< nNumtabs; i++) { CWnd* pWnd=GetNumWnd(i); if (!::IsWindow(HWND(pWnd->GetSafeHwnd()))) { DeleteTab(i); UpdateWindow(); break; } /* Modified by SunZhenyu */ // set cur tab by active child frame, modified 2003/6/19 else if( pWnd->GetSafeHwnd() == pActiveChild->GetSafeHwnd() ) { SetCurtab(i); } // set cur tab by active child frame, modified 2003/6/19 } SetTimer(1,200,NULL); }
BOOL CKscMainDlg::OnInitDialog(CWindow /*wndFocus*/, LPARAM /*lInitParam*/) { CString str; KAppRes& appRes = KAppRes::Instance(); CKcsLogging kcsLogging; // 清理过期的日志 kcsLogging.ClearLogFileByDays(); SetIcon(appRes.GetIcon("IDI_CLEAR_ICON_BIG"), TRUE); SetIcon(appRes.GetIcon("IDI_CLEAR_ICON_SMALL"), FALSE); RECT rcTest = { 1, 1, 20, 20 }; m_wndToolVector.Create(GetRichWnd(), &rcTest, NULL, 0, 0, 3888); m_wndToolVector.InitTools(); if (IsTabDisabled(_T("systemslim"))) { DeleteTab(IDC_TAB_MAIN, 5); } else { m_handlerSysSlim.Init(); } if (IsTabDisabled(_T("bigfile"))) { DeleteTab(IDC_TAB_MAIN, 4); } else { m_handlerBigFile.Init(); } if (IsTabDisabled(_T("regclr"))) { DeleteTab(IDC_TAB_MAIN, 3); } else { } if (IsTabDisabled(_T("trackclr"))) { DeleteTab(IDC_TAB_MAIN, 2); } else { m_handlerOpt.Init(); } if (IsTabDisabled(_T("trashclr"))) { DeleteTab(IDC_TAB_MAIN, 1); } else { m_handlerTrashClean.Init(); } if (IsTabDisabled(_T("onekey"))) { DeleteTab(IDC_TAB_MAIN, 0); } else { m_handlerOnekey.Init(); } SetTabCurSel(IDC_TAB_MAIN, m_nDefaultTab); SetItemText(IDC_TXT_PRODUCT_VERSION, _Module.GetAppFileVersion()); g_hWndKClear = m_hWnd; return TRUE; }
void CContainer::OnMouseMove(UINT nHitTest, CPoint point) { if (m_NCDragWindow) { if( ((nHitTest != HTCAPTION) && (m_DOCKFLOAT !=BS_FLOATING)) && m_TypeTab != TYPE_MDI) { if (!m_NCDragWindow) return; CRect rcw; GetWindowRect(rcw); ClientToScreen(&point); ReleaseCapture(); m_DOCKFLOAT=BS_FLOATING; m_DragTab=FALSE; m_NCDragWindow=FALSE; UINT uFirstTab=0; int iCont=0; for (iCont=0; iCont< m_Numtabs;iCont++) { CTab* ct=(CTab*) m_pArray[iCont]; if (ct->rect.PtInRect(point) != 0) { if (iCont==0) uFirstTab=((CDockPanelBase*)ct->pParent)->GetDlgCtrlID(); ((CDockPanelBase*)ct->pParent)->uAling=BS_FLOATING; ((CDockPanelBase*)ct->pParent)->iLasPosition=iCont; ((CDockPanelBase*)ct->pParent)->bIsPartOfTabbed=iCont==0? FALSE:TRUE; ((CDockPanelBase*)ct->pParent)->bIsShow=TRUE; ((CDockPanelBase*)ct->pParent)->m_IdCtrlParent=iCont==0? 0:uFirstTab; } } theApp->m_WinMain->FloatWindow(this,point,rcw); DockManager* mDoc; if (m_DOCKSITE == BS_ALIGN_BOTTOM) mDoc=(DockManager*)theApp->m_WinMain->m_DockBottom; if (m_DOCKSITE == BS_ALIGN_LEFT) mDoc=(DockManager*)theApp->m_WinMain->m_DockLeft; if (m_DOCKSITE == BS_ALIGN_RIGHT) mDoc=(DockManager*)theApp->m_WinMain->m_DockRight; mDoc->DeleteWindow( mDoc->FindItem(GetSafeHwnd()) ); theApp->m_WinMain->UpdateFrame(); } return ; } if (m_DragTab) { CTab* ct=(CTab*) m_pArray[m_TabMove]; if (ct->rect.PtInRect(point) != 0) { // we are in the same tab so don't do nothing return; } else { int iCont; for (iCont=0; iCont< m_Numtabs;iCont++) { CTab* ct=(CTab*) m_pArray[iCont]; if (ct->rect.PtInRect(point) != 0) { m_InTab=TRUE; m_DragTab=TRUE; //DragTab //umm interchange the pointers NewBValArray<CTab*> m_pTemp; CTab* Temp=(CTab*) m_pArray[m_TabMove]; m_pArray.SetAt(m_TabMove,ct); m_pArray.SetAt(iCont,Temp); SetCurtab(iCont); CToolTip.UpdateTipText(GetSafeHwnd(), ct->lpMsg,CRect(0,0,0,0), m_TabMove+1); CToolTip.UpdateTipText(GetSafeHwnd(), Temp->lpMsg,CRect(0,0,0,0), iCont+1); m_TabMove=iCont; //This is moved ReleaseCapture(); break; } } if ((iCont >= m_Numtabs) && (m_TypeTab != TYPE_MDI)) { CRect rcClient; GetClientRect(&rcClient); CContainer* ctn= new CContainer; CTab* ct=(CTab*) m_pArray[m_TabMove]; ctn->m_pContainer=this; rcClient.top=ct->rect.top; rcClient.bottom=ct->rect.bottom; if (rcClient.PtInRect(point)) { return; } if (!ctn->Create(WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),this,ct->pParent->GetDlgCtrlID())) return; ctn->Addtab(ct->pParent,ct->lpMsg,ct->nMenu); ct->pParent->SetParent(ctn); //ctn->SetImageList(Image); ClientToScreen(&point); ctn->m_DOCKFLOAT=BS_FLOATING; ctn->m_DOCKSITE=GetWindowLong(GetSafeHwnd(),GWL_ID); HWND hwnd=(HWND)GetWindowLong(ct->pParent->GetSafeHwnd(),GWL_HWNDPARENT); HWND hWnd1=ctn->GetSafeHwnd(); CRect rcw; GetWindowRect(rcw); theApp->m_WinMain->FloatWindow(ctn,point,rcw); m_DragTab=FALSE; DeleteTab(m_TabMove); if (m_pArray.GetSize() > 0) { ct=(CTab*) m_pArray[0]; ct->pParent->ShowWindow(SW_SHOW); ct->pParent->SetFocus(); } m_TabMove=-1; ReleaseCapture(); } } } }