/////////////////////////////////////////////////////////////////////////////
-// 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
/////////////////////////////////////////////////////////////////////////////
// headers
// ---------------------------------------------------------------------------
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma implementation
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#include "wx/wx.h"
#endif
-#if defined(__WIN95__)
#include "wx/spinbutt.h"
-#endif
#include "wx/msw/private.h"
// ---------------------------------------------------------------------------
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;
}
// ---------------------------------------------------------------------------
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();
win = new wxScrollBar;
}
#endif
-#if defined(__WIN95__) && wxUSE_SPINBTN
+#if wxUSE_SPINBTN
else if (str == wxT("MSCTLS_UPDOWN32"))
{
win = new wxSpinButton;
if (win)
{
parent->AddChild(win);
- win->SetEventHandler(win);
- win->SetHWND(hWnd);
- win->SetId(id);
win->SubclassWin(hWnd);
win->AdoptAttributesFromHWND();
win->SetupColours();
}
// 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;
}
-