解决DBGrid中关于鼠标滚轮的一种方法。

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

解决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);

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航