Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)aaa
published in(发表于) 2014/7/19 0:13:26
delphi设置光标闪烁的速度

delphi设置光标闪烁的速度|GetCaretBlinkTime函数

设置光标闪烁的速度

向文本组件中输入文字时,光标闪烁的速度应该适中,但有时也可以让用户来定义光标闪烁的速度。一个应用程序如果允许用户更改光标闪烁的速度,那么在更改前应该保存原先的设置,以便程序结束后恢复原来的设置。

可以通过API 函数中的GetCaretBlinkTime 和SetCaretBlinkTime 来获取和设置光标闪烁的速度。

它们的函数原型如下:

UINT GetCaretBlinkTime(VOID)

BOOL SetCaretBlinkTime(UINT uMSeconds);

下面以一个示例来说明它们的用法。

(1)新建一个项目。向窗体中添加一个Edit 组件和3 个Button 组件。

(2)完整的程序代码如下:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Edit1: TEdit;

procedure FormCreate(Sender: TObject);

procedure FormDestroy(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

OSpeed: Word; //光标闪烁的原始速度

CSpeed: Word; //光标闪烁的当前速度

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

//获取光标闪烁的原始速度

OSpeed:=GetCaretBlinkTime;

Edit1.Text:=IntToStr(OSpeed);

CSpeed:=OSpeed;

end;

procedure TForm1.FormDestroy(Sender: TObject);

begin

//恢复光标闪烁的原始速度

SetCaretBlinkTime(OSpeed);

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

//加快光标闪烁的速度

CSpeed:=CSpeed div 2;

SetCaretBlinkTime(CSpeed);

Edit1.Text:=IntToStr(CSpeed);

Edit1.SetFocus;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

//减慢光标闪烁的速度

CSpeed:=CSpeed*2;

SetCaretBlinkTime(CSpeed);

Edit1.Text:=IntToStr(CSpeed);

Edit1.SetFocus;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

//恢复光标闪烁的原始速度

SetCaretBlinkTime(OSpeed);

Edit1.Text:=IntToStr(OSpeed);

CSpeed:=OSpeed;

Edit1.SetFocus;

end;

end.




If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759