Smooth Aqua buttons in wxTreeCtrl.
[wxWidgets.git] / src / msw / toplevel.cpp
index a7b917f9f112a95a58380147ff72a91930bb289f..9aacc560173886664a59185f5c239b9ad794a003 100644 (file)
@@ -387,39 +387,30 @@ wxTopLevelWindowMSW::~wxTopLevelWindowMSW()
 }
 
 // ----------------------------------------------------------------------------
 }
 
 // ----------------------------------------------------------------------------
-// wxTopLevelWindowMSW geometry
+// wxTopLevelWindowMSW client size
 // ----------------------------------------------------------------------------
 
 void wxTopLevelWindowMSW::DoSetClientSize(int width, int height)
 {
 // ----------------------------------------------------------------------------
 
 void wxTopLevelWindowMSW::DoSetClientSize(int width, int height)
 {
-    HWND hWnd = GetHwnd();
-
-    RECT rectClient;
-    ::GetClientRect(hWnd, &rectClient);
+    // call GetClientAreaOrigin() to take the toolbar into account
+    wxPoint pt = GetClientAreaOrigin();
+    width += pt.x;
+    height += pt.y;
 
 
-    RECT rectTotal;
-    ::GetWindowRect(hWnd, &rectTotal);
+    wxWindow::DoSetClientSize(width, height);
+}
 
 
-    // Find the difference between the entire window (title bar and all)
-    // and the client area; add this to the new client size to move the
-    // window
-    width += rectTotal.right - rectTotal.left - rectClient.right;
-    height += rectTotal.bottom - rectTotal.top - rectClient.bottom;
+void wxTopLevelWindowMSW::DoGetClientSize(int *x, int *y) const
+{
+    wxWindow::DoGetClientSize(x, y);
 
 
-    // note that calling GetClientAreaOrigin() takes the toolbar into account
     wxPoint pt = GetClientAreaOrigin();
     wxPoint pt = GetClientAreaOrigin();
-    width += pt.x;
-    height += pt.y;
 
 
-    if ( !::MoveWindow(hWnd, rectTotal.left, rectTotal.top,
-                       width, height, TRUE /* redraw */) )
-    {
-        wxLogLastError(_T("MoveWindow"));
-    }
+    if ( x )
+        *x -= pt.x;
 
 
-    wxSizeEvent event(wxSize(width, height), m_windowId);
-    event.SetEventObject(this);
-    (void)GetEventHandler()->ProcessEvent(event);
+    if ( y )
+        *y -= pt.y;
 }
 
 // ----------------------------------------------------------------------------
 }
 
 // ----------------------------------------------------------------------------