delphi 中DBGrid 的滚动条问题
我现在在做一个delphi程序,用插件连的access数据库。当DBGrid的滚动条滚动时,我想做一件事情,但是在DBGrid中没有关于滚动条的事件,我应该怎么做。我的d...
我现在在做一个delphi 程序,用插件连的access数据库。
当DBGrid 的滚动条滚动时,我想做一件事情,但是在DBGrid中没有关于滚动条的事件,我应该怎么做。
我的delphi水平不行,希望能讲的详细一点 展开
当DBGrid 的滚动条滚动时,我想做一件事情,但是在DBGrid中没有关于滚动条的事件,我应该怎么做。
我的delphi水平不行,希望能讲的详细一点 展开
若以下回答无法解决问题,邀请你更新回答
2个回答
展开全部
在窗体上添加一个ApplicationEvent控件,然后在它的OnMessage事件里写以下代码:
procedure TForm1.ApplicationEvents1Message(var Msg:tagMSG;var Handled:Boolean);
begin
if(DBGrid1.Focused)And(Msg.message=WM_MOUSEWHEEL)then
begin
if Msg.wParam>0 then
SendMessage(DBGrid1.Handle, WM_KEYDOWN, VK_UP, 0)
else
SendMessage(DBGrid1.Handle, WM_KEYDOWN, VK_DOWN, 0);
Handled := True;
end;
end;
这样就能滚动了
如果你懂VCL,可以自己为DBGrid添加一个OnScroll事件,也不难
procedure TForm1.ApplicationEvents1Message(var Msg:tagMSG;var Handled:Boolean);
begin
if(DBGrid1.Focused)And(Msg.message=WM_MOUSEWHEEL)then
begin
if Msg.wParam>0 then
SendMessage(DBGrid1.Handle, WM_KEYDOWN, VK_UP, 0)
else
SendMessage(DBGrid1.Handle, WM_KEYDOWN, VK_DOWN, 0);
Handled := True;
end;
end;
这样就能滚动了
如果你懂VCL,可以自己为DBGrid添加一个OnScroll事件,也不难
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道你要实现什么功能
afterscroll里对全局变量进行控制,就是设置一个开关就好了! 应该可以满足你的要求!
afterscroll里对全局变量进行控制,就是设置一个开关就好了! 应该可以满足你的要求!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询