X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/818e52c20151ce0c22aa752ccbab94f1ae7afc99..be71e18af4e329233714e2e0b59049ef6b3c606d:/samples/mfc/mfctest.cpp diff --git a/samples/mfc/mfctest.cpp b/samples/mfc/mfctest.cpp index 79a7006bcf..d50d963470 100644 --- a/samples/mfc/mfctest.cpp +++ b/samples/mfc/mfctest.cpp @@ -26,14 +26,29 @@ // initially as the main frame, and allows wxWindows frames to be // created subsequently: // -// (1) Make MyApp::OnInit return NULL, not create a window. +// (1) Make MyApp::OnInit return FALSE, not creating a window. // (2) Restore the MFC code to create a window in InitInstance, and remove // creation of CDummyWindow. // -// IMPORTANT NOTE: to compile this sample, you must first edit -// wx/src/msw/wx_main.cc, set NOWINMAIN to 1, and remake wxWindows -// (it only needs to recompile wx_main.cc). -// This eliminates the duplicate WinMain function which MFC implements. +// IMPORTANT NOTES: +// +// (1) You need to set wxUSE_MFC to 1 in include/wx/msw/setup.h, which switches +// off some debugging features and also removes the windows.h inclusion +// in wxprec.h (MFC headers don't like this to have been included previously). +// Then recompile wxWindows and this sample. +// +// (2) 10/3/2000, wxWindows 2.1.14: unfortunately there is an assert when +// the sample tries to create an MFC window. Any suggestions welcome. It may be +// a problem with conflicting project settings. Ignoring the assert (several times) +// allows the sample to continue. In release mode the asserts don't happen. +// +// (3) I can't get the sample to link using a static MFC library, only the DLL +// version. Perhaps someone else is a wizard at working out the required settings +// in the wxWin library and the sample; then debugging the assert problem may be +// easier. +// +// (4) Compiling wxWindows in DLL mode currently includes windows.h, so you must only +// try linking wxWindows statically. // For compilers that support precompilation, includes "wx/wx.h". #include "wx/wxprec.h" @@ -44,8 +59,8 @@ #include "wx/wx.h" -#ifdef _WINDOWS_ -#error Sorry, you need to edit include/wx/wxprec.h, comment out the windows.h inclusion, and recompile. +#if defined(_WINDOWS_) || !wxUSE_MFC +#error Sorry, you need to edit include/wx/msw/setup.h, set wxUSE_MFC to 1, and recompile. #endif #ifdef new @@ -93,7 +108,6 @@ class MyChild: public wxFrame MyCanvas *canvas; MyChild(wxFrame *frame, const wxString& title, const wxPoint& pos, const wxSize& size, const long style); ~MyChild(void); - bool OnClose(void); void OnQuit(wxCommandEvent& event); void OnNew(wxCommandEvent& event); @@ -332,14 +346,13 @@ void MyCanvas::OnMouseEvent(wxMouseEvent& event) { wxClientDC dc(this); dc.SetPen(* wxBLACK_PEN); - long x, y; - event.Position(&x, &y); + wxPoint pos = event.GetPosition(); if (xpos > -1 && ypos > -1 && event.Dragging()) { - dc.DrawLine(xpos, ypos, x, y); + dc.DrawLine(xpos, ypos, pos.x, pos.y); } - xpos = x; - ypos = y; + xpos = pos.x; + ypos = pos.y; } BEGIN_EVENT_TABLE(MyChild, wxFrame) @@ -376,12 +389,6 @@ void MyChild::OnActivate(wxActivateEvent& event) canvas->SetFocus(); } -bool MyChild::OnClose(void) -{ - return TRUE; -} - - // Dummy MFC window for specifying a valid main window to MFC, using // a wxWindows HWND. CDummyWindow::CDummyWindow(HWND hWnd):CWnd()