Further changes to make mfctest work.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1601 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
1999-02-04 22:06:15 +00:00
parent 1cb8b1ec05
commit f5e5bd6607
2 changed files with 16 additions and 21 deletions

View File

@@ -74,8 +74,6 @@ class MyApp: public wxApp
wxFrame *CreateFrame(void); wxFrame *CreateFrame(void);
}; };
DECLARE_APP(MyApp)
class MyCanvas: public wxScrolledWindow class MyCanvas: public wxScrolledWindow
{ {
public: public:
@@ -104,10 +102,6 @@ DECLARE_EVENT_TABLE()
long xpos = -1; long xpos = -1;
long ypos = -1; long ypos = -1;
// Initialise this in OnInit, not statically
wxPen *red_pen;
wxFont *small_font;
// ID for the menu quit command // ID for the menu quit command
#define HELLO_QUIT 1 #define HELLO_QUIT 1
#define HELLO_NEW 2 #define HELLO_NEW 2
@@ -219,6 +213,8 @@ BOOL CTheApp::InitInstance()
int CTheApp::ExitInstance() int CTheApp::ExitInstance()
{ {
// OnExit isn't called by CleanUp so must be called explicitly.
wxTheApp->OnExit();
wxApp::CleanUp(); wxApp::CleanUp();
return CWinApp::ExitInstance(); return CWinApp::ExitInstance();
@@ -252,12 +248,6 @@ bool MyApp::OnInit(void)
// Don't exit app when the top level frame is deleted // Don't exit app when the top level frame is deleted
// SetExitOnFrameDelete(FALSE); // SetExitOnFrameDelete(FALSE);
// Create a red pen
red_pen = new wxPen("RED", 3, wxSOLID);
// Create a small font
small_font = new wxFont(10, wxSWISS, wxNORMAL, wxNORMAL);
wxFrame* frame = CreateFrame(); wxFrame* frame = CreateFrame();
return TRUE; return TRUE;
} }
@@ -289,8 +279,7 @@ wxFrame *MyApp::CreateFrame(void)
subframe->GetClientSize(&width, &height); subframe->GetClientSize(&width, &height);
MyCanvas *canvas = new MyCanvas(subframe, wxPoint(0, 0), wxSize(width, height)); MyCanvas *canvas = new MyCanvas(subframe, wxPoint(0, 0), wxSize(width, height));
wxCursor *cursor = new wxCursor(wxCURSOR_PENCIL); canvas->SetCursor(wxCursor(wxCURSOR_PENCIL));
canvas->SetCursor(*cursor);
subframe->canvas = canvas; subframe->canvas = canvas;
// Give it scrollbars // Give it scrollbars
@@ -317,7 +306,7 @@ void MyCanvas::OnPaint(wxPaintEvent& event)
{ {
wxPaintDC dc(this); wxPaintDC dc(this);
dc.SetFont(* small_font); dc.SetFont(* wxSWISS_FONT);
dc.SetPen(* wxGREEN_PEN); dc.SetPen(* wxGREEN_PEN);
dc.DrawLine(0, 0, 200, 200); dc.DrawLine(0, 0, 200, 200);
dc.DrawLine(200, 0, 0, 200); dc.DrawLine(200, 0, 0, 200);

View File

@@ -445,6 +445,15 @@ void wxApp::ConvertToStandardCommandArgs(char* lpCmdLine)
void wxApp::CleanUp() void wxApp::CleanUp()
{ {
//// COMMON CLEANUP //// COMMON CLEANUP
// flush the logged messages if any
wxLog *pLog = wxLog::GetActiveTarget();
if ( pLog != NULL && pLog->HasPendingMessages() )
pLog->Flush();
// One last chance for pending objects to be cleaned up
wxTheApp->DeletePendingObjects();
wxModule::CleanUpModules(); wxModule::CleanUpModules();
#if wxUSE_WX_RESOURCES #if wxUSE_WX_RESOURCES
@@ -608,6 +617,9 @@ int wxEntry(WXHINSTANCE hInstance,
{ {
retValue = wxTheApp->OnRun(); retValue = wxTheApp->OnRun();
} }
else
// We want to initialize, but not run or exit immediately.
return 1;
} }
//else: app initialization failed, so we skipped OnRun() //else: app initialization failed, so we skipped OnRun()
@@ -630,12 +642,6 @@ int wxEntry(WXHINSTANCE hInstance,
wxTheApp->OnExit(); wxTheApp->OnExit();
// flush the logged messages if any
wxLog *pLog = wxLog::GetActiveTarget();
if ( pLog != NULL && pLog->HasPendingMessages() )
pLog->Flush();
wxApp::CleanUp(); wxApp::CleanUp();
return retValue; return retValue;