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:
@@ -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) )
|
||||
|
Reference in New Issue
Block a user