hFlexDataGrid之滚轮用法


 
   最近在开发那个人事系统,明白了一个道理:mfc+Api在学会之前,比很多开发工具都难用啊,但是在学好之后,简直在Windows无敌啊!
 
  好,现在入正题:样图
 
 hflexeDateGrid要用滚轮那么需要的是一个message“MouseWheel",有了这个才能响应鼠标的中间滚轮的滚动。
利用classwizard添加OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
函数,就可以下一步了。
    参数意义: 第一个是滚动的上下标致而第三个是同时按键键值。地二个是什么,现在我也用不上不管它。
 

    首先上下滚动。方法么查了不少资料,都不是太管用。

还是无意中想到的方法:

那就是再次发消息在member variable 中加入 hflexeDateGrid对应的成员变量 m_HFlxGrd

然后m_HFlxGrd.SendMessage(WM_VSCROLL,SB_LINEUP); 向上翻。

m_HFlxGrd.SendMessage(WM_VSCROLL,SB_LINEDOWN);下下翻。

这时间就可以看到控件响应了,当然了左右也是需要了根据个人习惯选择Ctrl 为控制键,按ctrl时滚动为左右
 m_HFlxGrd.SendMessage(WM_HSCROLL,SB_LINELEFT); 左
 m_HFlxGrd.SendMessage(WM_HSCROLL,SB_LINERIGHT);

右前面加个ctrl判定:if (nFlags== MK_CONTROL)
------------------------------------------------------------------------------------------------------------
整个代码如下:
 // TODO: Add your message handler code here and/or call
default
 if(zDelta>50)
 {
  if (nFlags==
MK_CONTROL)
  {
   m_HFlxGrd.SendMessage(WM_HSCROLL,SB_LINELEFT);
  }
  else

  {
 
   m_HFlxGrd.SendMessage(WM_VSCROLL,SB_LINEUP);
  }
 }
 else
if (zDelta<-50)
 {
 
  if (nFlags==
MK_CONTROL)

  {
   m_HFlxGrd.SendMessage(WM_HSCROLL,SB_LINERIGHT);
  }
  else
  {
   m_HFlxGrd.SendMessage(WM_VSCROLL,SB_LINEDOWN);
  }
 }
  return
CDialog::OnMouseWheel(nFlags, zDelta, pt);

+++++++++++++++++++++++++++++++++++++++++++++++++

最后感想:VB是利用控件,vc是改造控件。

 ========如需转载,请联系作者============

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值