使用delphi程序动态改变当前鼠标箭头的样式
2011-12-10 20:43
585 查看
简便的方法:
其实可以简化问题用TScreen对象的功能就可以了:
Screen.Cursor:=crHandPoint;
--------------------------------------------------------
较复杂的方式 使用API函数 和消息
用SetCursor要拦截WM_SETCURSOR以下是一个例子:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, BtnEdit, Buttons;
type
TForm1 = class(TForm)
BtnEdit1: TBtnEdit;
BtnEdit2: TBtnEdit;
Edit1: TEdit;
SpeedButton1: TSpeedButton;
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
ChangeCursor:boolean;
procedure WMSetCursor(var Msg:TMessage);message WM_SETCURSOR;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
ChangeCursor:=Not ChangeCursor;
end;
procedure TForm1.WMSetCursor(var Msg: TMessage);
begin
if ChangeCursor then
SetCursor(LoadCursor(0,IDC_HAND))
else
inherited;
end;
end.
其实可以简化问题用TScreen对象的功能就可以了:
Screen.Cursor:=crHandPoint;
--------------------------------------------------------
较复杂的方式 使用API函数 和消息
用SetCursor要拦截WM_SETCURSOR以下是一个例子:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, BtnEdit, Buttons;
type
TForm1 = class(TForm)
BtnEdit1: TBtnEdit;
BtnEdit2: TBtnEdit;
Edit1: TEdit;
SpeedButton1: TSpeedButton;
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
ChangeCursor:boolean;
procedure WMSetCursor(var Msg:TMessage);message WM_SETCURSOR;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
ChangeCursor:=Not ChangeCursor;
end;
procedure TForm1.WMSetCursor(var Msg: TMessage);
begin
if ChangeCursor then
SetCursor(LoadCursor(0,IDC_HAND))
else
inherited;
end;
end.
相关文章推荐
- 使用javascript动态改变当前行的显示样式
- 不使用hover外部CSS样式实现hover鼠标悬停改变样式
- .NET中动态生成的表格,当鼠标经过tr时改变tr当前颜色,当鼠标移开恢复原来的颜色
- jQuery实现鼠标滚轮动态改变样式或效果
- AngularJS使用ng-style动态改变样式
- 使用键盘来改变形状中的线条样式,或移动鼠标来创建一个新的形状
- 鼠标悬浮时动态改变当前行的背景色
- 微信小程序 动态改变样式
- MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应
- Delphi中判断当前程序运行过程中长时间无鼠标与键盘操作
- [微信小程序]js动态改变数组对象列表中的样式
- ExtJS 使用点滴 二 如何使用XTemplate基于同行的其他列的值,改变当前列的显示样式
- 不使用hover外部CSS样式实现hover鼠标悬停改变样式
- 微信小程序中多个相同的组件点击时当前样式的改变
- 微信小程序,动态改变样式
- MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应
- 使用JQ添加css的背景样式,之后,hover失效,鼠标滑过没有改变颜色
- 动态添加class名,改变标签样式(包含鼠标移入、移出及点击事件)
- 使用js改变DOM样式的三种方式 - 动态创建style标签
- DHTML技术演示---动态设置表格行间隔显示、表格排序、鼠标悬停样式改变