#endif
#ifndef WX_PRECOMP
+#include "wx/event.h"
#include "wx/app.h"
#include "wx/dcclient.h"
#endif
+#include "wx/control.h"
+
#include "wx/msw/private.h"
-#if defined(__WIN95__) && !defined(__GNUWIN32__)
+#if (defined(__WIN95__) && !defined(__GNUWIN32__)) || defined(__TWIN32__)
#include <commctrl.h>
#endif
m_backgroundColour = *wxWHITE;
m_foregroundColour = *wxBLACK;
m_callback = 0;
+// m_windowCursor = wxNullCursor; // To avoid the standard cursor being used
}
wxControl::~wxControl(void)
wxWindow *parent = (wxWindow *)GetParent();
if (parent)
{
- if (parent->GetDefaultItem() == this)
+ if (parent->GetDefaultItem() == (wxButton*) this)
parent->SetDefaultItem(NULL);
}
}
wxString wxControl::GetLabel(void) const
{
- wxBuffer[0] = 0;
- if (GetHWND())
- GetWindowText((HWND)GetHWND(), wxBuffer, 1000);
+ wxBuffer[0] = 0;
+ if (GetHWND())
+ {
+ int len = GetWindowText((HWND)GetHWND(), wxBuffer, 256);
+ wxBuffer[len] = 0;
+ }
return wxString(wxBuffer);
}
}
*/
-void wxControl::MSWOnMouseMove(const int x, const int y, const WXUINT flags)
+void wxControl::MSWOnMouseMove(int x, int y, WXUINT flags)
{
/*
// Trouble with this is that it sets the cursor for controls too :-(
m_lastEvent = wxEVT_MOTION;
m_lastXPos = event.GetX(); m_lastYPos = event.GetY();
- GetEventHandler()->OldOnMouseEvent(event);
-}
-long wxControl::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
-{
- return wxWindow::MSWWindowProc(nMsg, wParam, lParam);
+ if (!GetEventHandler()->ProcessEvent(event))
+ Default();
}
-bool wxControl::MSWNotify(const WXWPARAM wParam, const WXLPARAM lParam)
+bool wxControl::MSWNotify(WXWPARAM wParam, WXLPARAM lParam,
+ WXLPARAM* result)
{
#if defined(__WIN95__)
- wxCommandEvent event(0, m_windowId);
- int eventType = 0;
+ wxCommandEvent event(wxEVT_NULL, m_windowId);
+ wxEventType eventType = wxEVT_NULL;
NMHDR *hdr1 = (NMHDR*) lParam;
switch ( hdr1->code )
{
break;
}
*/
- default :
- return FALSE;
- break;
+ default:
+ return wxWindow::MSWNotify(wParam, lParam, result);
}
+
event.SetEventType(eventType);
event.SetEventObject(this);
- if ( !ProcessEvent(event) )
+ if ( !GetEventHandler()->ProcessEvent(event) )
return FALSE;
return TRUE;
-#else
- return FALSE;
+#else // !Win95
+ return FALSE;
#endif
}
::SetMapMode((HDC) event.GetDC()->GetHDC(), mode);
}
-void wxControl::SetClientSize (const int width, const int height)
+void wxControl::SetClientSize (int width, int height)
{
SetSize (-1, -1, width, height);
}
-void wxControl::Centre (const int direction)
+void wxControl::Centre (int direction)
{
int x, y, width, height, panel_width, panel_height, new_x, new_y;