怎么让程序在没有鼠标移动和键盘按键30秒后就显示一系列图片?(50分)

  • 主题发起人 主题发起人 admini
  • 开始时间 开始时间
A

admini

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么让程序在没有鼠标移动和键盘按键30秒后就显示一系列图片?

移动鼠标或按任一键后就取消显示的图片,返回到程序界面!!

我是菜鸟,刚学DLEPHI不久,请大家帮忙,回答时需要说得详细点。谢谢了
 
1,用個timer1控件,
2:mousemove事件
 
unit Unit1;

interface

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

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
Oclock:TTimer;
IdleTimeLimited:Integer;
LastActTime:TDateTime;
procedure ApplicationEventsMessage(var Msg: tagMSG;
var Handled: Boolean);
procedure TimerTimer(Sender: TObject);
{ Private declarations }
public
{ Public declarations }
end;


var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ApplicationEventsMessage(var Msg: tagMSG;
var Handled: Boolean);
begin

//如果已经定义主系统的Application的OnMessage事件则先调用;

//处理键盘、鼠标消息
if ((Msg.message >= WM_KEYFIRST) and (Msg.message <= WM_KEYLAST)) or
((Msg.message >= WM_MOUSEFIRST) and (Msg.message <= WM_MOUSELAST))then

LastActTime := now;

end;


procedure TForm1.TimerTimer(Sender: TObject)
begin

//如果键盘、鼠标在指定的时间内没有消息,调用处理事件
if SecondsBetween(now,LastActTime) > IdleTimeLimited then
begin

LastActTime := now;
ShowMessage('本程序未活动时间超过'+IntToStr(IdleTimeLimited)+'秒!');
//你可以在这写显示图片得代码
end;

end;


procedure TForm1.FormCreate(Sender: TObject);
begin

LastActTime := now;
IdleTimeLimited := 3;
Oclock := TTimer.Create(self);
Oclock.Enabled := True;

//设置时间控件的时间事件
Oclock.OnTimer := TimerTimer;
Application.OnMessage := ApplicationEventsMessage;


end;


end.


 
在timer事件中写:
form1.tag:=form1.tag+1;
if form1.tag>=30 then

begin

//显示一系列图片,设image1.visible:=true;
//比如image1.picture.loadfrom('文件路径');动态改变文件路径就可以了.
end;

在keydown和mousemove写下如下内容:
form1.tag:=0;
//退出图片显示,比如隐藏image1

 
模拟键盘按键就行啦
 
同意落木潇潇
截获鼠标消息和键盘消息,对定时器重新计时
 
谢谢朋友的详细的解答,不过您只是回答了我一半的问题,还有一半就是循球的显示图片
如我程序中指定一个图片目录image里面放001.jpg,002.jpg,003.jpg.....等。这些图片,在程序空闲时就循球的播放这些图片,
 
哈,是要循环的播放image目录下的图片啊。请解答.
还有就是让每个图显示2秒钟。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部