don't set background colour explicitely; no need to handle WM_ERASEBKGND ourselves now that it is done correctly at wxControl level
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30642 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -39,14 +39,6 @@ public:
|
|||||||
long style = 0,
|
long style = 0,
|
||||||
const wxString& name = wxStaticBoxNameStr);
|
const wxString& name = wxStaticBoxNameStr);
|
||||||
|
|
||||||
// implementation from now on
|
|
||||||
// --------------------------
|
|
||||||
|
|
||||||
virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
|
|
||||||
|
|
||||||
// overriden base class virtuals
|
|
||||||
virtual bool AcceptsFocus() const { return false; }
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual wxSize DoGetBestSize() const;
|
virtual wxSize DoGetBestSize() const;
|
||||||
|
|
||||||
|
@@ -134,9 +134,6 @@ bool wxStaticBox::Create(wxWindow *parent,
|
|||||||
) )
|
) )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// to be transparent we should have the same colour as the parent as well
|
|
||||||
SetBackgroundColour(GetParent()->GetBackgroundColour());
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -154,38 +151,4 @@ wxSize wxStaticBox::DoGetBestSize() const
|
|||||||
return wxSize(wBox, hBox);
|
return wxSize(wBox, hBox);
|
||||||
}
|
}
|
||||||
|
|
||||||
WXLRESULT wxStaticBox::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
|
|
||||||
{
|
|
||||||
switch ( nMsg )
|
|
||||||
{
|
|
||||||
#ifndef __WXWINCE__
|
|
||||||
case WM_NCHITTEST:
|
|
||||||
// FIXME: this hack is specific to dialog ed, shouldn't it be
|
|
||||||
// somehow disabled during normal operation?
|
|
||||||
{
|
|
||||||
int xPos = LOWORD(lParam); // horizontal position of cursor
|
|
||||||
int yPos = HIWORD(lParam); // vertical position of cursor
|
|
||||||
|
|
||||||
ScreenToClient(&xPos, &yPos);
|
|
||||||
|
|
||||||
// Make sure you can drag by the top of the groupbox, but let
|
|
||||||
// other (enclosed) controls get mouse events also
|
|
||||||
if ( yPos < 10 )
|
|
||||||
return (long)HTCLIENT;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
case WM_ERASEBKGND:
|
|
||||||
// prevent wxControl from processing this message because it will
|
|
||||||
// erase the background incorrectly and there is no way for us to
|
|
||||||
// override this at wxWin event level (if we do process the event,
|
|
||||||
// we don't know how to do it properly - paint the background
|
|
||||||
// without painting over other controls - and if we don't,
|
|
||||||
// wxControl still gets it)
|
|
||||||
return MSWDefWindowProc(nMsg, wParam, lParam);
|
|
||||||
}
|
|
||||||
|
|
||||||
return wxControl::MSWWindowProc(nMsg, wParam, lParam);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif // wxUSE_STATBOX
|
#endif // wxUSE_STATBOX
|
||||||
|
Reference in New Issue
Block a user