一种给TDBGrid和TLabel增加鼠标效果的简单方法。
来源:互联网 发布:手机限制网速软件 编辑:程序博客网 时间:2024/04/29 11:00
我们在编程过程中,经常遇到要给TDBGrid增加鼠标的滚轮事件处理,具体就是让记录随着鼠标滚轮移动。这里介绍一种比较简单和有新意的方法:
首先在你使用TDBGrid的单元type处加上:
TDBGrid = class(DBGrids.TDBGrid)
public
function DoMouseWheel(Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint): Boolean; override;
end;
然后在实现部分:
function TDBGrid.DoMouseWheel(Shift:TShiftState;WheelDelta:Integer;MousePos:TPoint):Boolean;
begin
Result := true;
if WheelDelta<0 then
DataSource.DataSet.Next;
if wheelDelta>0 then
DataSource.DataSet.Prior;
end; // 滚动DataSet
这样就可以对你整个当前窗体上的TDBGrid的滚轮事件起作用了。
与此类似的处理,我们也可以对当前窗体上所有的TLabel控件增加鼠标特效:当鼠标移上去的时候显示手型图标,同时文字变粗;当鼠标移开恢复状态。
//----------------给TLabel组件增加鼠标特效-----------------
TLabel = class(stdCtrls.TLabel)
public
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
end;
procedure TLabel.CMMouseEnter(var Message: TMessage);
begin
Self.Cursor := crHandPoint;
Self.Font.Color := clRed;
self.Font.Style := [fsBold];
end;
procedure TLabel.CMMouseLeave(var Message: TMessage);
begin
Self.Cursor := crDefault;
Self.Font.Color := clBlue;
self.Font.Style := [fsUnderline];
end;
总结:这种思想,可以避免为了一些简单的功能而去自己重写控件的麻烦。
- 一种给TDBGrid和TLabel增加鼠标效果的简单方法。
- TDBGrid增加鼠标滚动事件
- 利用canvas实现鼠标拖拽效果的一种方法
- 一种简单的设计方法,为产品设计增加近距离检测和环境光感应---凯利讯半导体
- 增加带宽的一种方法
- 为datagrid单元格增加渲染效果的简单方法
- 简单的鼠标拖动效果
- 简单的鼠标悬停效果
- 简单的鼠标悬停效果
- 给uiview增加阴影效果的代码
- 一种屏蔽鼠标右键的JS方法
- 画出渐变效果的线,给布局一种阴影效果
- 一种简单的给MD5加盐算法
- ios的一种简单的模糊效果
- 一种实用的表格行鼠标点击高亮效果
- 简单的鼠标触发的轮播图效果
- 一种确定类和对象的简单常用方法
- MFC 下给控件加载jpeg等非bmp图片的一种简单方法
- How to Cheat in Photoshop Elements 6: Create stunning photomontages on a budget
- C#程序设计教程笔记(一)
- 活字印刷与对象设计
- 回购京华
- Adobe Photoshop Elements 6 Maximum Performance: Unleash the hidden performance of Elements
- 一种给TDBGrid和TLabel增加鼠标效果的简单方法。
- CIDR
- 半转载:获取网址测试
- RedHat9实现集群负载均衡系统LVS
- office2007在windows2008上安装失败的诡异原因(提示找不到文件)
- 关于c++ 强制转换类型运算符 static_cast、dynamic_cast、reinterpret_和const_cast
- 基金创新之困
- ACE的构建(VC++6.0环境)
- 家长徐少春