rt
解决方案 »
- 请问大家的初级问题
- 关于处理ID:lovend在论坛重复回复无效回复的通报!
- 关于DataSet的RecNo属性.............
- 高分求教。如何不换页连续打印?
- 在使用QREPORT时出现a component named QRstandard preview already exists...
- Delphi 帮助文档中的属性标识代表的含义
- 关于listview的简单问题!!取得单元格信息
- 我怎么取到当前时间----急急急急急急
- 使用radiogroup组件怎么获取被选中的一项的内容?急!!!
- 请问TQuickRep的OnNeeData事件。
- 如何对DBGrid1实现全选
- 我如何在WebBrowser中访问HTML页面里面的元素?
或者直接使用下面的方法:
LRESULT CALLBACK (*OldWinProc)(HWND hwnd, UINT uMsg,
WPARAM wParam, LPARAM lParam);
LRESULT CALLBACK NewWinProc(HWND hwnd, UINT uMsg,
WPARAM wParam, LPARAM lParam)
{
if (uMsg==WM_MOUSEWHEEL) {
TDBGrid* DBGrid = dynamic_cast<TDBGrid*>(
FindControl(hwnd));
if (DBGrid && DBGrid->DataSource && DBGrid
->DataSource->DataSet) {
TDataSet* DataSet = DBGrid->DataSource
->DataSet;
if ((short)HIWORD(wParam) > 0) {
if (!DataSet->Bof)
DataSet->Prior();
}
else {
if (!DataSet->Eof)
DataSet->Next();
}
}
return 0;
}
else
return OldWinProc(hwnd, uMsg, wParam, lParam);
}
//------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
OldWinProc = (WNDPROC)GetWindowLong(DBGrid1
->Handle, GWL_WNDPROC);
SetWindowLong(DBGrid1->Handle, GWL_WNDPROC,
(LPARAM)NewWinProc);
}