如何在DBGRID或者STRINGGRID中实现用滚轮进行翻页的功能就象浏

2016-02-19 18:49 1 1 收藏

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的如何在DBGRID或者STRINGGRID中实现用滚轮进行翻页的功能就象浏,过去的都会过去,迎接崭新的开始,释放更美好的自己。

【 tulaoshi.com - 编程语言 】

你先在窗体上放一个TApplicationEvents控件(Delphi自带的),找到WmMouseWheelMessage事件。  
   
  下面是我实现的(这个用的是键盘的上下按键消息,你也可以改成滚动条消息)。  
   
  procedure  TMainForm.WmMouseWheelMessage(var  Msg:  tagMSG;  
     var  Handled:  Boolean);  
  begin  
     if  (DBGrid.Focused)  And  (Msg.message  =  WM_MOUSEWHEEL)  then  
         begin  
             if  Msg.wParam    0  then  
                 SendMessage(DBGrid.Handle,  WM_KEYDOWN,  VK_UP,  0)  
             else  
                 SendMessage(DBGrid.Handle,  WM_KEYDOWN,  VK_DOWN,  0);  
             Handled  :=  True;  
         end;  
  end;  
  -------------------------------------------------------------------------  
  问题解决,特别感谢barely(一哥)  
  DBGRID这么写,先加一个TApplicationEvents,  
  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;  
  stringgrid这么写  
  procedure  TForm1.ApplicationEvents1Message(var  Msg:  tagMSG;  
     var  Handled:  Boolean);  
  begin  
   if  (stringGrid1.Focused)  And  (Msg.message  =  WM_MOUSEWHEEL)  then  
         begin  
             if  Msg.wParam    0  then  
                 SendMessage(stringGrid1.Handle,  WM_KEYDOWN,  VK_UP,  0)  
             else  
                 SendMessage(stringGrid1.Handle,  WM_KEYDOWN,  VK_DOWN,  0);  
             Handled  :=  True;  
         end;  
  end;  

来源:https://www.tulaoshi.com/n/20160219/1619069.html

延伸阅读
要实现对数据库的操作,离不开数据源(DataSource)或者连接(Connection),但是通常来说对数据库的操作都应该放在DAO中,而DAO又不应该与应用服务器相关联,所以一般都使用连接(Connection)。现在我们这里就有一个问题了,怎么在拦截器中获得连接。我想可以通过两种方式获得: 在分别讨论这两种方法之前,我们需要先讨论一下在处理数据库...
       一、Java中的远程方法调用 远程方法调用(Remote Method Invocation, RMI)是Java1.1引入的分布式对象软件包,它的出现简化了在多台机器上的Java应用之间的通信。相比CORBA,RMI功能较弱且只能用于Java系统。 二、实现一个简单的RMI 要使用RMI,必须构造四个主要的类:远...
在平常的办公中,经常碰到需要在Word中求和的情况,而用过Excel的朋友都知道,在Excel的常用工具栏中有一个〔自动求和〕按钮很方便。其实,在Word 2003的表格中,也可以使用〔自动求和〕按钮,当然,这需要想办法把〔自动求和〕按钮调出来才行,其方法是: 1. 在“工具”菜单中单击“自定义”命令。 2. 选择“命令...
标签: 电脑入门
任务栏图标设置合并或者隐藏效果; 任务栏图标设置从不合并效果。 操作步骤: 1、在系统任务栏单击右键,选择属性打开; 2、点击任务栏按钮右侧的按钮; 3、选择需要设置的显示方式合并隐藏或者从不合并等,点击确定即可。
在数据库编程中,不必要也不可能将应用程序操作的所有数据库字段放入一个数据库文件中。正确的数据库结构应是:将数据库字段放入多个数据库文件,相关的数据库都包含一个唯一的要害字段,在多数据库结构里可以建立联系。 例如:要编制一个人事治理程序,为简化演示程序,只建立两个数据库,每个数据库都只建立两个字段。 ...

经验教程

798

收藏

33
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部