X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/655719367ac5e131d9642e5783f3ecf64d1a3385..4a2d030adfa836f6ada1830c9057170d053bcc64:/src/msw/nativdlg.cpp?ds=sidebyside diff --git a/src/msw/nativdlg.cpp b/src/msw/nativdlg.cpp index 519176b336..d71c3b13e4 100644 --- a/src/msw/nativdlg.cpp +++ b/src/msw/nativdlg.cpp @@ -1,10 +1,9 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: nativdlg.cpp +// Name: src/msw/nativdlg.cpp // Purpose: Native dialog loading code (part of wxWindow) // Author: Julian Smart // Modified by: // Created: 04/01/98 -// RCS-ID: $Id$ // Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -17,10 +16,6 @@ // headers // --------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -34,9 +29,7 @@ #include "wx/wx.h" #endif -#if defined(__WIN95__) #include "wx/spinbutt.h" -#endif #include "wx/msw/private.h" // --------------------------------------------------------------------------- @@ -61,7 +54,7 @@ bool wxWindow::LoadNativeDialog(wxWindow* parent, wxWindowID& id) (DLGPROC) wxDlgProc); if ( !m_hWnd ) - return FALSE; + return false; SubclassWin(GetHWND()); @@ -84,7 +77,7 @@ bool wxWindow::LoadNativeDialog(wxWindow* parent, wxWindowID& id) CreateWindowFromHWND(this, (WXHWND) hWndNext); } - return TRUE; + return true; } bool wxWindow::LoadNativeDialog(wxWindow* parent, const wxString& name) @@ -98,7 +91,7 @@ bool wxWindow::LoadNativeDialog(wxWindow* parent, const wxString& name) (DLGPROC)wxDlgProc); if ( !m_hWnd ) - return FALSE; + return false; SubclassWin(GetHWND()); @@ -121,7 +114,7 @@ bool wxWindow::LoadNativeDialog(wxWindow* parent, const wxString& name) CreateWindowFromHWND(this, (WXHWND) hWndNext); } - return TRUE; + return true; } // --------------------------------------------------------------------------- @@ -152,20 +145,14 @@ wxWindow* wxWindow::GetWindowChild(wxWindowID id) wxWindow* win = GetWindowChild1(id); if ( !win ) { - HWND hWnd = ::GetDlgItem((HWND) GetHWND(), id); - - if (hWnd) + HWND hwnd = ::GetDlgItem(GetHwnd(), id); + if ( hwnd ) { - wxWindow* child = CreateWindowFromHWND(this, (WXHWND) hWnd); - if (child) - { - child->AddChild(this); - return child; - } + win = CreateWindowFromHWND(this, (WXHWND) hwnd); } } - return NULL; + return win; } // --------------------------------------------------------------------------- @@ -174,6 +161,8 @@ wxWindow* wxWindow::GetWindowChild(wxWindowID id) wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd) { + wxCHECK_MSG( parent, NULL, wxT("must have valid parent for a control") ); + wxString str(wxGetWindowClass(hWnd)); str.UpperCase(); @@ -271,7 +260,7 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd) win = new wxScrollBar; } #endif -#if defined(__WIN95__) && wxUSE_SPINBTN +#if wxUSE_SPINBTN else if (str == wxT("MSCTLS_UPDOWN32")) { win = new wxSpinButton; @@ -305,7 +294,7 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd) wxLogError(wxT("Please make SS_BITMAP statics into owner-draw buttons.")); } #endif -#endif /* wxUSE_STATBMP */ +#endif /* wxUSE_STATBMP */ } #endif else @@ -318,9 +307,6 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd) if (win) { parent->AddChild(win); - win->SetEventHandler(win); - win->SetHWND(hWnd); - win->SetId(id); win->SubclassWin(hWnd); win->AdoptAttributesFromHWND(); win->SetupColours(); @@ -330,14 +316,14 @@ wxWindow* wxWindow::CreateWindowFromHWND(wxWindow* parent, WXHWND hWnd) } // Make sure the window style (etc.) reflects the HWND style (roughly) -void wxWindow::AdoptAttributesFromHWND(void) +void wxWindow::AdoptAttributesFromHWND() { - HWND hWnd = (HWND) GetHWND(); - long style = GetWindowLong((HWND) hWnd, GWL_STYLE); + SetId(wxGetWindowId(m_hWnd)); + + long style = GetWindowLong(GetHwnd(), GWL_STYLE); if (style & WS_VSCROLL) m_windowStyle |= wxVSCROLL; if (style & WS_HSCROLL) m_windowStyle |= wxHSCROLL; } -