Browse Source

find focused window on startup - optimized drawing of the window

git-svn-id: svn://svn.code.sf.net/p/ditto-cp/code/trunk@516 595ec19a-5cb4-439b-94a8-42fb3063c22c
sabrogden 15 years ago
parent
commit
4638d3d3f3
5 changed files with 18 additions and 10 deletions
  1. 13 1
      CP_Main.cpp
  2. 1 1
      CP_Main.h
  3. 0 1
      QListCtrl.cpp
  4. 3 6
      QPasteWnd.cpp
  5. 1 1
      WndEx.cpp

+ 13 - 1
CP_Main.cpp

@@ -79,6 +79,8 @@ END_MESSAGE_MAP()
 
 CCP_MainApp::CCP_MainApp()
 {
+	theApp.m_activeWnd.TrackActiveWnd(NULL);
+
 	m_bAppRunning = false;
 	m_bAppExiting = false;
 	m_connectOnStartup = -1;
@@ -313,7 +315,7 @@ void CCP_MainApp::AfterMainCreate()
 #ifdef UNICODE
 	m_Addins.LoadAll();
 #endif
-
+	
 	m_bAppRunning = true;
 }
 
@@ -897,5 +899,15 @@ HWND CCP_MainApp::QPastehWnd()
 		}
 	}
 
+	return NULL;
+}
+
+CQPasteWnd* CCP_MainApp::QPasteWnd() 
+{ 
+	if(m_pMainFrame != NULL)
+	{
+		return m_pMainFrame->m_quickPaste.m_pwndPaste; 
+	}
+
 	return NULL;
 }

+ 1 - 1
CP_Main.h

@@ -122,7 +122,7 @@ public:
 	bool	m_bRefreshView;
 
 	CString m_Status;
-	CQPasteWnd* QPasteWnd() { return m_pMainFrame->m_quickPaste.m_pwndPaste; }
+	CQPasteWnd* QPasteWnd();
 	HWND QPastehWnd();
 	void SetStatus(const TCHAR* status = NULL, bool bRepaintImmediately = false);
 

+ 0 - 1
QListCtrl.cpp

@@ -614,7 +614,6 @@ void CQListCtrl::RefreshVisibleRows()
 	int nTopIndex = GetTopIndex();
 	int nLastIndex = nTopIndex + GetCountPerPage();
 	RedrawItems(nTopIndex, nLastIndex);
-	this->Invalidate();
 }
 
 void CQListCtrl::RefreshRow(int row)

+ 3 - 6
QPasteWnd.cpp

@@ -2092,9 +2092,7 @@ void CQPasteWnd::DeleteSelectedRows()
     }
 
     m_lstHeader.SetListPos(nFirstSel);
-
-    m_lstHeader.RefreshVisibleRows();
-    RedrawWindow(0, 0, RDW_INVALIDATE);
+	UpdateStatus();
 }
 
 CString CQPasteWnd::LoadDescription(int nItem)
@@ -2469,6 +2467,8 @@ void CQPasteWnd::GetDispInfo(NMHDR *pNMHDR, LRESULT *pResult)
 
                         lstrcpyn(pItem->pszText, cs, pItem->cchTextMax);
                         pItem->pszText[pItem->cchTextMax - 1] = '\0';
+
+						//Log(StrF(_T("DrawItem index %d - %s"), pItem->iItem, pItem->pszText));
                     }
                     else
                     {
@@ -3095,10 +3095,7 @@ LRESULT CQPasteWnd::OnSetListCount(WPARAM wParam, LPARAM lParam)
 {
     m_lstHeader.SetItemCountEx(wParam);
     m_lstHeader.RefreshVisibleRows();
-
-    MoveControls();
     UpdateStatus(false);
-    RedrawWindow();
 
     return TRUE;
 }

+ 1 - 1
WndEx.cpp

@@ -34,7 +34,7 @@ CWndEx::~CWndEx()
 
 void CWndEx::InvalidateNc()
 {
-	::RedrawWindow( m_hWnd, NULL, NULL, RDW_INVALIDATE | RDW_FRAME | RDW_NOCHILDREN );
+	::SetWindowPos(m_hWnd, NULL, 0, 0, 0, 0, SWP_DRAWFRAME | SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE);
 }
 
 void CWndEx::GetWindowRectEx(LPRECT lpRect)