added mouse wheel event test; don't trap left mouse clicks in MyCanvas as this makes it impossible to give focus to the window and so to use mouse wheel in it

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34898 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2005-07-21 10:16:57 +00:00
parent 3c29734862
commit 4686e0f659

View File

@@ -45,7 +45,8 @@ public:
void OnDeleteButton( wxCommandEvent &event );
void OnMoveButton( wxCommandEvent &event );
void OnScrollWin( wxCommandEvent &event );
void OnMouseDown( wxMouseEvent &event );
void OnMouseRightDown( wxMouseEvent &event );
void OnMouseWheel( wxMouseEvent &event );
wxButton *m_button;
@@ -170,12 +171,13 @@ public: // interface
static wxRect DCNormalize(wxCoord x, wxCoord y, wxCoord w, wxCoord h);
protected: // event stuff
DECLARE_EVENT_TABLE()
void OnDraw(wxDC& dc);
void OnMouseLeftDown(wxMouseEvent& event);
void OnMouseLeftUp(wxMouseEvent& event);
void OnMouseMove(wxMouseEvent& event);
void OnScroll(wxScrollWinEvent& event);
DECLARE_EVENT_TABLE()
};
// ----------------------------------------------------------------------------
@@ -234,7 +236,8 @@ IMPLEMENT_DYNAMIC_CLASS(MyCanvas, wxScrolledWindow)
BEGIN_EVENT_TABLE(MyCanvas, wxScrolledWindow)
EVT_PAINT( MyCanvas::OnPaint)
EVT_MOUSE_EVENTS( MyCanvas::OnMouseDown)
EVT_RIGHT_DOWN( MyCanvas::OnMouseRightDown)
EVT_MOUSEWHEEL( MyCanvas::OnMouseWheel)
EVT_BUTTON( ID_QUERYPOS, MyCanvas::OnQueryPosition)
EVT_BUTTON( ID_ADDBUTTON, MyCanvas::OnAddButton)
EVT_BUTTON( ID_DELBUTTON, MyCanvas::OnDeleteButton)
@@ -322,18 +325,25 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id,
SetCursor( wxCursor( wxCURSOR_IBEAM ) );
}
void MyCanvas::OnMouseDown( wxMouseEvent &event )
void MyCanvas::OnMouseRightDown( wxMouseEvent &event )
{
if (event.LeftDown())
{
wxPoint pt( event.GetPosition() );
int x,y;
CalcUnscrolledPosition( pt.x, pt.y, &x, &y );
wxLogMessage( wxT("Mouse down event at: %d %d, scrolled: %d %d"), pt.x, pt.y, x, y );
wxPoint pt( event.GetPosition() );
int x,y;
CalcUnscrolledPosition( pt.x, pt.y, &x, &y );
wxLogMessage( wxT("Mouse down event at: %d %d, scrolled: %d %d"), pt.x, pt.y, x, y );
}
if ( !event.LeftIsDown() )
wxLogMessage( wxT("Error: LeftIsDown() should be true if for LeftDown()") );
}
void MyCanvas::OnMouseWheel( wxMouseEvent &event )
{
wxPoint pt( event.GetPosition() );
int x,y;
CalcUnscrolledPosition( pt.x, pt.y, &x, &y );
wxLogMessage( wxT("Mouse wheel event at: %d %d, scrolled: %d %d\n")
wxT("Rotation: %d, delta = %d"),
pt.x, pt.y, x, y,
event.GetWheelRotation(), event.GetWheelDelta() );
event.Skip();
}
void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) )