applied 2nd part of flicker reducing patch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -43,7 +43,9 @@ bool MyApp::OnInit(void)
|
|||||||
// Create the main frame window
|
// Create the main frame window
|
||||||
|
|
||||||
frame = new MyFrame(NULL, -1, "Sash Demo", wxPoint(0, 0), wxSize(500, 400),
|
frame = new MyFrame(NULL, -1, "Sash Demo", wxPoint(0, 0), wxSize(500, 400),
|
||||||
wxDEFAULT_FRAME_STYLE | wxHSCROLL | wxVSCROLL);
|
wxDEFAULT_FRAME_STYLE |
|
||||||
|
wxNO_FULL_REPAINT_ON_RESIZE |
|
||||||
|
wxHSCROLL | wxVSCROLL);
|
||||||
|
|
||||||
// Give it an icon (this is ignored in MDI mode: uses resources)
|
// Give it an icon (this is ignored in MDI mode: uses resources)
|
||||||
#ifdef __WXMSW__
|
#ifdef __WXMSW__
|
||||||
@@ -98,7 +100,11 @@ MyFrame::MyFrame(wxWindow *parent, const wxWindowID id, const wxString& title, c
|
|||||||
// Create some dummy layout windows
|
// Create some dummy layout windows
|
||||||
|
|
||||||
// A window like a toolbar
|
// A window like a toolbar
|
||||||
wxSashLayoutWindow* win = new wxSashLayoutWindow(this, ID_WINDOW_TOP, wxDefaultPosition, wxSize(200, 30), wxNO_BORDER|wxSW_3D);
|
wxSashLayoutWindow* win =
|
||||||
|
new wxSashLayoutWindow(this, ID_WINDOW_TOP,
|
||||||
|
wxDefaultPosition, wxSize(200, 30),
|
||||||
|
wxNO_BORDER | wxSW_3D | wxCLIP_CHILDREN);
|
||||||
|
|
||||||
win->SetDefaultSize(wxSize(1000, 30));
|
win->SetDefaultSize(wxSize(1000, 30));
|
||||||
win->SetOrientation(wxLAYOUT_HORIZONTAL);
|
win->SetOrientation(wxLAYOUT_HORIZONTAL);
|
||||||
win->SetAlignment(wxLAYOUT_TOP);
|
win->SetAlignment(wxLAYOUT_TOP);
|
||||||
@@ -108,7 +114,9 @@ MyFrame::MyFrame(wxWindow *parent, const wxWindowID id, const wxString& title, c
|
|||||||
m_topWindow = win;
|
m_topWindow = win;
|
||||||
|
|
||||||
// A window like a statusbar
|
// A window like a statusbar
|
||||||
win = new wxSashLayoutWindow(this, ID_WINDOW_BOTTOM, wxDefaultPosition, wxSize(200, 30), wxNO_BORDER|wxSW_3D);
|
win = new wxSashLayoutWindow(this, ID_WINDOW_BOTTOM,
|
||||||
|
wxDefaultPosition, wxSize(200, 30),
|
||||||
|
wxNO_BORDER | wxSW_3D | wxCLIP_CHILDREN);
|
||||||
win->SetDefaultSize(wxSize(1000, 30));
|
win->SetDefaultSize(wxSize(1000, 30));
|
||||||
win->SetOrientation(wxLAYOUT_HORIZONTAL);
|
win->SetOrientation(wxLAYOUT_HORIZONTAL);
|
||||||
win->SetAlignment(wxLAYOUT_BOTTOM);
|
win->SetAlignment(wxLAYOUT_BOTTOM);
|
||||||
@@ -118,7 +126,9 @@ MyFrame::MyFrame(wxWindow *parent, const wxWindowID id, const wxString& title, c
|
|||||||
m_bottomWindow = win;
|
m_bottomWindow = win;
|
||||||
|
|
||||||
// A window to the left of the client window
|
// A window to the left of the client window
|
||||||
win = new wxSashLayoutWindow(this, ID_WINDOW_LEFT1, wxDefaultPosition, wxSize(200, 30), wxNO_BORDER|wxSW_3D);
|
win = new wxSashLayoutWindow(this, ID_WINDOW_LEFT1,
|
||||||
|
wxDefaultPosition, wxSize(200, 30),
|
||||||
|
wxNO_BORDER | wxSW_3D | wxCLIP_CHILDREN);
|
||||||
win->SetDefaultSize(wxSize(120, 1000));
|
win->SetDefaultSize(wxSize(120, 1000));
|
||||||
win->SetOrientation(wxLAYOUT_VERTICAL);
|
win->SetOrientation(wxLAYOUT_VERTICAL);
|
||||||
win->SetAlignment(wxLAYOUT_LEFT);
|
win->SetAlignment(wxLAYOUT_LEFT);
|
||||||
@@ -134,7 +144,9 @@ MyFrame::MyFrame(wxWindow *parent, const wxWindowID id, const wxString& title, c
|
|||||||
m_leftWindow1 = win;
|
m_leftWindow1 = win;
|
||||||
|
|
||||||
// Another window to the left of the client window
|
// Another window to the left of the client window
|
||||||
win = new wxSashLayoutWindow(this, ID_WINDOW_LEFT2, wxDefaultPosition, wxSize(200, 30), wxNO_BORDER|wxSW_3D);
|
win = new wxSashLayoutWindow(this, ID_WINDOW_LEFT2,
|
||||||
|
wxDefaultPosition, wxSize(200, 30),
|
||||||
|
wxNO_BORDER | wxSW_3 | wxCLIP_CHILDREND);
|
||||||
win->SetDefaultSize(wxSize(120, 1000));
|
win->SetDefaultSize(wxSize(120, 1000));
|
||||||
win->SetOrientation(wxLAYOUT_VERTICAL);
|
win->SetOrientation(wxLAYOUT_VERTICAL);
|
||||||
win->SetAlignment(wxLAYOUT_LEFT);
|
win->SetAlignment(wxLAYOUT_LEFT);
|
||||||
@@ -206,8 +218,10 @@ void MyFrame::OnSashDrag(wxSashEvent& event)
|
|||||||
void MyFrame::OnNewWindow(wxCommandEvent& WXUNUSED(event))
|
void MyFrame::OnNewWindow(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
// Make another frame, containing a canvas
|
// Make another frame, containing a canvas
|
||||||
MyChild *subframe = new MyChild(frame, "Canvas Frame", wxPoint(10, 10), wxSize(300, 300),
|
MyChild *subframe = new MyChild(frame, "Canvas Frame",
|
||||||
wxDEFAULT_FRAME_STYLE);
|
wxPoint(10, 10), wxSize(300, 300),
|
||||||
|
wxDEFAULT_FRAME_STYLE |
|
||||||
|
wxNO_FULL_REPAINT_ON_RESIZE);
|
||||||
|
|
||||||
char titleBuf[100];
|
char titleBuf[100];
|
||||||
sprintf(titleBuf, "Canvas Frame %d", winNumber);
|
sprintf(titleBuf, "Canvas Frame %d", winNumber);
|
||||||
@@ -263,8 +277,9 @@ BEGIN_EVENT_TABLE(MyCanvas, wxScrolledWindow)
|
|||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
// Define a constructor for my canvas
|
// Define a constructor for my canvas
|
||||||
MyCanvas::MyCanvas(wxWindow *parent, const wxPoint& pos, const wxSize& size):
|
MyCanvas::MyCanvas(wxWindow *parent, const wxPoint& pos, const wxSize& size)
|
||||||
wxScrolledWindow(parent, -1, pos, size, wxSUNKEN_BORDER)
|
: wxScrolledWindow(parent, -1, pos, size,
|
||||||
|
wxSUNKEN_BORDER | wxNO_FULL_REPAINT_ON_RESIZE)
|
||||||
{
|
{
|
||||||
SetBackgroundColour(* wxWHITE);
|
SetBackgroundColour(* wxWHITE);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user