收藏本站 
网站首页 
网站地图 
>> 我们从网络和杂志上收集了近100000余篇各类电脑技术、网络技术、软件技术等方面的文章教程,我们的收录原则:不是精华拒不收录!
先飞电脑技术网技术文章
解决DBGrid中关于鼠标滚轮的一种方法。
[ 作者:ktcserver    转贴自:网载    阅读次数:6    更新时间:2006-1-12 23:13:00   录入:蓝色动力 ]        

解决DBGrid的鼠标滚动的方法
1. Add in .h file:

private: // 添加声明
void __fastcall (__closure *OldProc)(Messages::TMessage &Message);
void __fastcall NewProc(TMessage &Message);

 

2. Add in .cpp file:
// 添加以下语句到OnFormCreate事件中
OldProc = DBGrid1->WindowProc;
DBGrid1->WindowProc = NewProc;

 

void __fastcall TForm1::NewProc(TMessage& Message)
{
  if (Message.Msg == WM_MOUSEWHEEL)
  {
    int z = GET_WHEEL_DELTA_WPARAM(Message.WParam);
    Message.Msg = WM_VSCROLL;
    if (z > 0)
      Message.WParam = SB_LINEUP;
    else
      Message.WParam = SB_LINEDOWN;
  }
  OldProc(Message);
}

上一篇:C++ 中的 Singleton 实现  下一篇: 把我们的汉字转换成为以拼音首字母的关键字的方法