From 54e90b2a32c6aef1b21037e1797b93f8b3db0d10 Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Fri, 27 Oct 2006 12:21:51 +0000 Subject: [PATCH] fixed repainting of windows without the wxFULL_REPAINT_ON_RESIZE style under wxMSW/Univ git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42518 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/univ/winuniv.cpp | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/univ/winuniv.cpp b/src/univ/winuniv.cpp index b114729174..0044439b98 100644 --- a/src/univ/winuniv.cpp +++ b/src/univ/winuniv.cpp @@ -124,20 +124,27 @@ bool wxWindow::Create(wxWindow *parent, { long actualStyle = style; - // FIXME: may need this on other platforms + // we add wxCLIP_CHILDREN to get the same ("natural") behaviour under MSW + // as under the other platforms + actualStyle |= wxCLIP_CHILDREN; + #ifdef __WXMSW__ + // FIXME: may need this on other platforms actualStyle &= ~wxVSCROLL; actualStyle &= ~wxHSCROLL; + + // without this, borders (non-client areas in general) are not repainted + // correctly when resizing; apparently, native NC areas are fully repainted + // even without this style by MSW, but wxUniv implements client area + // itself, so it doesn't work correctly for us + // + // FIXME: this is very expensive, we need to fix the (commented-out) code + // in OnSize() instead + actualStyle |= wxFULL_REPAINT_ON_RESIZE; #endif - // we add wxCLIP_CHILDREN to get the same ("natural") behaviour under MSW - // as under the other platforms - if ( !wxWindowNative::Create(parent, id, pos, size, - actualStyle | wxCLIP_CHILDREN, - name) ) - { + if ( !wxWindowNative::Create(parent, id, pos, size, actualStyle, name) ) return false; - } // Set full style again, including those we didn't want present // when calling the base window Create(). -- 2.50.0