关于超想
本站导航
邮件列表
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> delphi -> 开发技巧 -> API相关 ->详细
相关内容  
 
 
在程序运行期设置QUERY控件的PARAMS
 
【新品推荐】

  详细内容
 

时隐时现的鼠标
作者: 评价: 上站日期: 2001-05-09
内容说明:
来源:

  本文介绍了如何实现隐藏和重现鼠标的方法,可以广泛的应用于制作屏幕保护程序。另外,此方法还可以实现著名的“超级解霸”5.5版中的自动隐藏鼠标功能。 

鼠标是我们使用得很多的输入工具,它帮了我们不少忙。但有些时候,我们总是要想方设法将它隐藏起来。比如,绝大多数的游戏开场动画在播放时都隐藏了鼠标。另一个例子是,当我们欣赏VCD时,屏幕中的鼠标常常会影响观赏效果。 

其实,隐藏鼠标并不难。实际上就是要设计一个很小的像屏幕程序保护那样的程序。当一段时间内,用户没有任何输入的情况下就自动隐藏鼠标,一旦用户进行任何输入立即重新显示出鼠标即可。著名的“超级解霸”5.5版中的自动隐藏鼠标功能其实就是这样实现的。下面给出用Delphi实现这一功能的方法,请先添加一个Timer组件,再设置Timer组件的Interval属性为2000(即延时2秒钟),然后编写如下的程序段即可。 

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics,
 Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

type
 TForm1 = class(TForm)
  Timer1: TTimer;
  procedure FormMouseDown(Sender: TObject; 
       Button: TMouseButton;
       Shift: TShiftState; X, Y: Integer);
  procedure FormMouseMove(Sender: TObject; 
       Shift: TShiftState; X, Y: Integer);
  procedure FormKeyDown(Sender: TObject; 
       var Key: Word; Shift: TShiftState);
  procedure FormCreate(Sender: TObject);
  procedure Timer1Timer(Sender: TObject);
 private
  { Private declarations }
 public
  { Public declarations }
 end;

var
 Form1: TForm1;
 MouseHide: Boolean;

implementation

{$R *.DFM}

procedure DoMouse;
begin
 if MouseHide then
  begin
   Screen.Cursor:=crDefault; { 恢复鼠标 }
   MouseHide:=False;
  end
  else Form1.Timer1.Enabled:=True;
end;

procedure TForm1.FormMouseDown(Sender: TObject;
     Button: TMouseButton;
     Shift: TShiftState; X, Y: Integer);
begin
 DoMouse;
end;

procedure TForm1.FormMouseMove(Sender: TObject;
     Shift: TShiftState; X, Y: Integer);
begin
 DoMouse;
end;

procedure TForm1.FormKeyDown(Sender: TObject;
     var Key: Word; Shift: TShiftState);
begin
 DoMouse;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 MouseHide:=True; { 初始化 }
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 MouseHide:=True;
 Screen.Cursor:=crNone; { 隐藏鼠标 }
 { 以下这一行可以不要,但会使程序效率降低 }
 Timer1.Enabled:=False;
end;

end.

以上程序会像屏幕保护程序一样在鼠标移动、按下或键盘有键按下的情况下立即恢复鼠标的显示。有兴趣的朋友可以自己修改一下,就可以实现很多常见的鼠标隐藏和恢复的应用。比如,当我们用小屏幕来玩《真侍魂 2》时,鼠标的隐藏实际是用键盘是否有键按下来激活的。
 

 
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> delphi -> 开发技巧 -> API相关 ->详细
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
声明:本站内容除注明原创以外均从网上摘抄,如有侵权请指明。
  如果您对我们的网站有什么意见或者建议,请与我们联系
powered by 建站易上手- V2.0