📄 092803_05.htm
字号:
<html>
<head>
<link REL="stylesheet" HREF="/style.css" TYPE="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>计算机世界日报:
时隐时现的鼠标
</title>
<!--***********-->
</head>
<body bgcolor="#FFFFFF" >
<p><br>
<font color="#b904e8"><b><em><a href="class.htm">返回</a></em></b></font>
<center>
<font color="#0000c0"><h2>
时隐时现的鼠标
</h2></font>
<h3>
武汉市华中师大计科系
<br>江立 刘燕里
</h3>
</center>
<p><font color="#ffffff">----</font>
本文介绍了如何实现隐藏和重现鼠标的方法,可以广泛的应用于制作屏幕保护程序。另外,此方法还可以实现著名的“超级解霸”5.5版中的自动隐藏鼠标功能。
<p><font color="#ffffff">----</font>
鼠标是我们使用得很多的输入工具,它帮了我们不少忙。但有些时候,我们总是要想方设法将它隐藏起来。比如,绝大多数的游戏开场动画在播放时都隐藏了鼠标。另一个例子是,当我们欣赏VCD时,屏幕中的鼠标常常会影响观赏效果。
<p><font color="#ffffff">----</font>
其实,隐藏鼠标并不难。实际上就是要设计一个很小的像屏幕程序保护那样的程序。当一段时间内,用户没有任何输入的情况下就自动隐藏鼠标,一旦用户进行任何输入立即重新显示出鼠标即可。著名的“超级解霸”5.5版中的自动隐藏鼠标功能其实就是这样实现的。下面给出用Delphi实现这一功能的方法,请先添加一个Timer组件,再设置Timer组件的Interval属性为2000(即延时2秒钟),然后编写如下的程序段即可。
<pre>
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.
</pre>
<p><font color="#ffffff">----</font>
以上程序会像屏幕保护程序一样在鼠标移动、按下或键盘有键按下的情况下立即恢复鼠标的显示。有兴趣的朋友可以自己修改一下,就可以实现很多常见的鼠标隐藏和恢复的应用。比如,当我们用小屏幕来玩《真侍魂 2》时,鼠标的隐藏实际是用键盘是否有键按下来激活的。
<p align="right"><small><em>中国计算机世界出版服务公司版权所有</em></small>
<br>
</p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -