Delphi开发之:在DBGrid中用Mouse滚动键滚动记录
2006-06-24 09:42
357 查看
首先在Unit的 private中写一过程OnMouseWheel。如下:
private
{ Private declarations }
procedure OnMouseWheel(Var Msg :TMsg;var Handled:Boolean);
接着,实现OnMouseWheell过程的代码如下:
Procedure TDeptfrm.OnMouseWheel(Var Msg :TMsg;var Handled:Boolean);
begin
if Msg.message = WM_MouseWheel then
begin
if Msg.wParam > 0 then
begin
if DBGrid1.Focused then
SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_PAGEUP,0);
end
else
begin
if DBGrid1.Focused then
SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_PAGEDOWN,0);
end;
Handled:= True;
end;
end;
以上代码需要更改DBGrid1为你所命名的DBGrid的Name
最后,在FormCreate上来调用以上方法
procedure TDeptfrm.FormCreate(Sender: TObject);
begin
Application.OnMessage:=OnMouseWheel;
end;
完成以上操作,再运运行你的程序,看看结果对不对?
private
{ Private declarations }
procedure OnMouseWheel(Var Msg :TMsg;var Handled:Boolean);
接着,实现OnMouseWheell过程的代码如下:
Procedure TDeptfrm.OnMouseWheel(Var Msg :TMsg;var Handled:Boolean);
begin
if Msg.message = WM_MouseWheel then
begin
if Msg.wParam > 0 then
begin
if DBGrid1.Focused then
SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_PAGEUP,0);
end
else
begin
if DBGrid1.Focused then
SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_PAGEDOWN,0);
end;
Handled:= True;
end;
end;
以上代码需要更改DBGrid1为你所命名的DBGrid的Name
最后,在FormCreate上来调用以上方法
procedure TDeptfrm.FormCreate(Sender: TObject);
begin
Application.OnMessage:=OnMouseWheel;
end;
完成以上操作,再运运行你的程序,看看结果对不对?
相关文章推荐
- Ubuntu 中用 delphi 开发 apache
- 在Delphi 7 中用Indy开发Socket应用程序
- 【Unity3D自学记录】Unity3D游戏开发之连续滚动背景
- 引用 在Delphi 2007 中用Indy10开发Socket应用程序
- android开发之记录ListView滚动位置
- 在Delphi 7 中用Indy开发Socket应用程序(上)
- delphi中的DBGRid鼠标滚动事件
- android开发之记录ListView滚动位置
- 在Delphi 7 中用Indy开发Socket应用程序(下)
- 在Delphi 7 中用Indy开发Socket应用程序
- delphi 中得DBGRID实现鼠标滚动。
- android开发之记录ListView滚动位置
- 清除delphi 控件DBgrid 的记录
- android开发之记录ListView滚动位置
- 清除delphi 控件DBgrid 的记录
- 在delphi中我用DBGrid选择多条记录,如何一次把选择的多条记录删掉
- Delphi中的DBGrid如何实现使用鼠标滚轮上下滚动
- delphi开发日志系列文章的源码
- 开发小技巧: 如何在jQuery中禁用或者启用滚动事件.scroll