X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3372145d9daa42f680fc5aab7eb00e82d587c5a0..33754c4d83c59b7523a6da0c4fb21079cb60301c:/src/msw/nativdlg.cpp diff --git a/src/msw/nativdlg.cpp b/src/msw/nativdlg.cpp index f85ff12896..85a7920b99 100644 --- a/src/msw/nativdlg.cpp +++ b/src/msw/nativdlg.cpp @@ -43,7 +43,6 @@ // global functions // --------------------------------------------------------------------------- -extern wxWindow *wxWndHook; extern LONG APIENTRY _EXPORT wxDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); @@ -54,12 +53,12 @@ extern LONG APIENTRY _EXPORT wxDlgProc(HWND hWnd, UINT message, bool wxWindow::LoadNativeDialog(wxWindow* parent, wxWindowID& id) { m_windowId = id; - wxWndHook = this; + + wxWindowCreationHook hook(this); m_hWnd = (WXHWND)::CreateDialog((HINSTANCE)wxGetInstance(), MAKEINTRESOURCE(id), parent ? (HWND)parent->GetHWND() : 0, (DLGPROC) wxDlgProc); - wxWndHook = NULL; if ( !m_hWnd ) return FALSE; @@ -93,12 +92,11 @@ bool wxWindow::LoadNativeDialog(wxWindow* parent, const wxString& name) { SetName(name); - wxWndHook = this; + wxWindowCreationHook hook(this); m_hWnd = (WXHWND)::CreateDialog((HINSTANCE) wxGetInstance(), name.c_str(), parent ? (HWND)parent->GetHWND() : 0, (DLGPROC)wxDlgProc); - wxWndHook = NULL; if ( !m_hWnd ) return FALSE; @@ -173,7 +171,7 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd) wxWindow* win = NULL; - if (str == _T("BUTTON")) + if (str == wxT("BUTTON")) { int style1 = (style & 0xFF); if ((style1 == BS_3STATE) || (style1 == BS_AUTO3STATE) || (style1 == BS_AUTOCHECKBOX) || @@ -190,7 +188,7 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd) { // TODO: how to find the bitmap? win = new wxBitmapButton; - wxLogError(_T("Have not yet implemented bitmap button as BS_BITMAP button.")); + wxLogError(wxT("Have not yet implemented bitmap button as BS_BITMAP button.")); } #endif else if (style1 == BS_OWNERDRAW) @@ -213,11 +211,11 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd) } else { - wxLogError(_T("Don't know what kind of button this is: id = %d"), + wxLogError(wxT("Don't know what kind of button this is: id = %d"), id); } } - else if (str == _T("COMBOBOX")) + else if (str == wxT("COMBOBOX")) { win = new wxComboBox; } @@ -227,30 +225,32 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd) // for correct functioning. // Could have wxWindow::AdoptAttributesFromHWND(WXHWND) // to be overridden by each control class. - else if (str == _T("EDIT")) + else if (str == wxT("EDIT")) { win = new wxTextCtrl; } - else if (str == _T("LISTBOX")) + else if (str == wxT("LISTBOX")) { win = new wxListBox; } - else if (str == _T("SCROLLBAR")) + else if (str == wxT("SCROLLBAR")) { win = new wxScrollBar; } -#if defined(__WIN95__) && !defined(__TWIN32__) - else if (str == _T("MSCTLS_UPDOWN32")) +#if defined(__WIN95__) && !defined(__TWIN32__) && wxUSE_SPINBTN + else if (str == wxT("MSCTLS_UPDOWN32")) { win = new wxSpinButton; } #endif - else if (str == _T("MSCTLS_TRACKBAR32")) +#if wxUSE_SLIDER + else if (str == wxT("MSCTLS_TRACKBAR32")) { // Need to ascertain if it's horiz or vert win = new wxSlider; } - else if (str == _T("STATIC")) +#endif // wxUSE_SLIDER + else if (str == wxT("STATIC")) { int style1 = (style & 0xFF); @@ -262,13 +262,13 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd) win = new wxStaticBitmap; // Help! this doesn't correspond with the wxWin implementation. - wxLogError(_T("Please make SS_BITMAP statics into owner-draw buttons.")); + wxLogError(wxT("Please make SS_BITMAP statics into owner-draw buttons.")); } #endif } else { - wxString msg(_T("Don't know how to convert from Windows class ")); + wxString msg(wxT("Don't know how to convert from Windows class ")); msg += str; wxLogError(msg); } @@ -282,11 +282,9 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd) win->SubclassWin(hWnd); win->AdoptAttributesFromHWND(); win->SetupColours(); - - return win; } - else - return NULL; + + return win; } // Make sure the window style (etc.) reflects the HWND style (roughly)