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);
}
}
*/
-#if 0
-// We can't rely on Windows giving us events corresponding to the wxWindows Z-ordering.
-// E.g. we can't push a wxGroupBox to the back for editing purposes.
-// Convert the item event to parent coordinates, then search for
-// an item that could receive this event.
-wxControl *wxFakeItemEvent(wxWindow *parent, wxControl *item, wxMouseEvent& event)
-{
- int x, y;
- item->GetPosition(&x, &y);
- event.m_x += x;
- event.m_y += y;
-
- wxNode *node = parent->GetChildren()->Last();
- while (node)
- {
- wxControl *newItem = (wxControl *)node->Data();
- if (newItem->IsSelected() && newItem->SelectionHandleHitTest(event.x, event.GetY()))
- {
- // This event belongs to the panel.
- parent->GetEventHandler()->OldOnMouseEvent(event);
- return NULL;
- }
- else if (newItem->HitTest(event.x, event.GetY()))
- {
- int x1, y1;
- newItem->GetPosition(&x1, &y1);
- event.x -= x1;
- event.GetY() -= y1;
- newItem->OldOnMouseEvent(event);
- return newItem;
- }
- node = node->Previous();
- }
- // No takers, so do what we would have done anyway.
- event.x -= x;
- event.y -= y;
- item->OldOnMouseEvent(event);
- return item;
-}
-#endif
-
-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);
+
+ if (!GetEventHandler()->ProcessEvent(event))
+ Default();
}
long wxControl::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
return wxWindow::MSWWindowProc(nMsg, wParam, lParam);
}
-bool wxControl::MSWNotify(const WXWPARAM wParam, const WXLPARAM lParam)
+bool wxControl::MSWNotify(WXWPARAM wParam, WXLPARAM lParam)
{
#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 )
{
::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;