Added simple scroll sample.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38903 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2006-04-25 10:48:26 +00:00
parent 506d54a3f6
commit db4ad642aa

View File

@@ -25,6 +25,104 @@
#include "wx/sizer.h"
#include "wx/log.h"
const long ID_QUIT = wxID_EXIT;
const long ID_ABOUT = wxID_ABOUT;
const long ID_DELETE_ALL = 100;
const long ID_INSERT_NEW = 101;
// ----------------------------------------------------------------------
// a trivial example
// ----------------------------------------------------------------------
class MySimpleFrame;
class MySimpleCanvas;
// MySimpleCanvas
class MySimpleCanvas: public wxScrolledWindow
{
public:
MySimpleCanvas() { }
MySimpleCanvas( wxWindow *parent, wxWindowID, const wxPoint &pos, const wxSize &size );
void OnPaint( wxPaintEvent &event );
private:
DECLARE_DYNAMIC_CLASS(MyCanvas)
DECLARE_EVENT_TABLE()
};
IMPLEMENT_DYNAMIC_CLASS(MySimpleCanvas, wxScrolledWindow)
BEGIN_EVENT_TABLE(MySimpleCanvas, wxScrolledWindow)
EVT_PAINT( MySimpleCanvas::OnPaint)
END_EVENT_TABLE()
MySimpleCanvas::MySimpleCanvas( wxWindow *parent, wxWindowID id,
const wxPoint &pos, const wxSize &size )
: wxScrolledWindow( parent, id, pos, size, wxSUNKEN_BORDER, _T("test canvas") )
{
SetScrollRate( 10, 10 );
SetVirtualSize( 92, 97 );
SetBackgroundColour( *wxWHITE );
}
void MySimpleCanvas::OnPaint( wxPaintEvent &event )
{
wxPaintDC dc(this);
PrepareDC( dc );
dc.SetPen( *wxRED_PEN );
dc.SetBrush( *wxTRANSPARENT_BRUSH );
dc.DrawRectangle( 0,0,92,97 );
}
// MySimpleFrame
class MySimpleFrame: public wxFrame
{
public:
MySimpleFrame();
void OnQuit( wxCommandEvent &event );
MySimpleCanvas *m_canvas;
private:
DECLARE_DYNAMIC_CLASS(MySimpleFrame)
DECLARE_EVENT_TABLE()
};
IMPLEMENT_DYNAMIC_CLASS( MySimpleFrame, wxFrame )
BEGIN_EVENT_TABLE(MySimpleFrame,wxFrame)
EVT_MENU (ID_QUIT, MySimpleFrame::OnQuit)
END_EVENT_TABLE()
MySimpleFrame::MySimpleFrame()
: wxFrame( (wxFrame *)NULL, wxID_ANY, _T("wxScrolledWindow sample"),
wxPoint(120,120), wxSize(150,150) )
{
wxMenu *file_menu = new wxMenu();
file_menu->Append( ID_QUIT, _T("E&xit\tAlt-X"));
wxMenuBar *menu_bar = new wxMenuBar();
menu_bar->Append(file_menu, _T("&File"));
SetMenuBar( menu_bar );
m_canvas = new MySimpleCanvas( this, wxID_ANY, wxPoint(0,0), wxSize(100,100) );
}
void MySimpleFrame::OnQuit( wxCommandEvent &WXUNUSED(event) )
{
Close( true );
}
// ----------------------------------------------------------------------
// a complex example
// ----------------------------------------------------------------------
// derived classes
@@ -485,11 +583,6 @@ void MyAutoScrollWindow::OnResizeClick( wxCommandEvent &WXUNUSED( event ) )
// MyFrame
// ----------------------------------------------------------------------------
const long ID_QUIT = wxID_EXIT;
const long ID_ABOUT = wxID_ABOUT;
const long ID_DELETE_ALL = 100;
const long ID_INSERT_NEW = 101;
IMPLEMENT_DYNAMIC_CLASS( MyFrame, wxFrame )
BEGIN_EVENT_TABLE(MyFrame,wxFrame)
@@ -579,10 +672,13 @@ void MyFrame::OnAbout( wxCommandEvent &WXUNUSED(event) )
bool MyApp::OnInit()
{
wxFrame *frame = new MyFrame();
frame->Show( true );
wxFrame *frame = new MyFrame();
frame->Show( true );
return true;
frame = new MySimpleFrame();
frame->Show();
return true;
}
// ----------------------------------------------------------------------------