j123kaishichufa的专栏

MFC实现鼠标中键滑动WM_MOUSEWHEEL响应,使得图形缩放已经实现,没有问题CRenderView基类是CView,实现显示操作三维模型。实现鼠标滚轮缩放简单步骤如下:(1)响应视图类的WM_MOUSEWHEEL消息(2)在响应函数里面实现:有滚动引起的缩放比例变化; 刷新视图区域,图形缩放显示; 设置滑竿位置,刷新滑竿所在类的滑竿显示位置;//滚动鼠标滚轮实现模型缩放,z轴上放大或者缩小BOOL CRenderView::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt) {// TODO: Add your message handler code here and/or call default//AfxMessageBox(" 鼠标滚轮滑动触发");m_zScaling = m_zScaling +0.01*zDelta/120;//CFormCommandView里 设置滑竿范围是pos=1-100,放大倍数是pos/50=0.02-2//为了是滑动缩放和滑竿缩放一致,,所以加入以下两条if语句if(m_zScaling<=1/50)m_zScaling=0.02;if(m_zScaling>=100/50)m_zScaling=2;CToolApp *pApp = (CToolApp *)AfxGetApp();CMainFrame *pFrame = (CMainFrame *)pApp->m_pMainWnd;CFormCommandView *pView = (CFormCommandView *)pFrame->m_wndSplitter.GetPane(0,0);(pView->m_SliderScaleZ).SetPos(m_zScaling*50);InvalidateRect(NULL,FALSE);//刷新绘图pView->InvalidateRect(NULL,FALSE); //刷新让滑竿更新滑动位置return CView::OnMouseWheel(nFlags, zDelta, pt);}

怪天怪地,我都不会怪你,你有选择幸福的权利…

j123kaishichufa的专栏

相关文章:

你感兴趣的文章:

标签云: