Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)aaapublished in(发表于) 2014/7/19 0:13:26 delphi设置光标闪烁的速度
设置光标闪烁的速度向文本组件中输入文字时,光标闪烁的速度应该适中,但有时也可以让用户来定义光标闪烁的速度。一个应用程序如果允许用户更改光标闪烁的速度,那么在更改前应该保存原先的设置,以便程序结束后恢复原来的设置。可以通过API 函数中的GetCaretBlinkTime 和SetCaretBlinkTime 来获取和设置光标闪烁的速度。它们的函数原型如下:UINT GetCaretBlinkTime(VOID)BOOL SetCaretBlinkTime(UINT uMSeconds);下面以一个示例来说明它们的用法。(1)新建一个项目。向窗体中添加一个Edit 组件和3 个Button 组件。(2)完整的程序代码如下:unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = 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;varForm1: 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.
赞