00207.txt
来自「Delphi编程五大妙招源程序」· 文本 代码 · 共 30 行
TXT
30 行
1:闪动标题栏
闪动一个窗口的标题栏意味着改变它的标题栏的外观,只要得到窗口的句柄,你就可以使用Windows 应用程序编程接口(API)函数来使该窗口的标题栏进行闪动。函数FlashWindows可以被用使一个特定的窗口闪动一次。函数原形:
function FlashWindow(const hwnd:Integer;const bInvert:LongBool):LongBool;
该函数需要2个参数,第一个参数是要闪动标题栏的窗口的句柄,第二个参数用于指定是设置窗口的闪动状态,还是恢复其原始状态。如果该bInvert参数为True,则表明窗口的标题栏被闪动,如果该参数为False,则表明窗口的标题栏被恢复为原始状态。
该函数所返回的值用于指定调用该函数前窗口的状态,如果该返回值True,则表明窗口在调用该函数之前是活动的,否则,如果返回值为False,则表明调用函数前窗口是非活动的。
当使用该FlashWindow函数时,一个较好的方法是将标题栏闪动的频率设置为同脱字符(也即闪动的光标)相同,脱字符的闪动频率可以通过调用函数GetCaretBlinkTime来获得。要使用该函数,需要将如下的声明语句包含在你的窗体的通用声明部分中:
function GetCaretBlinkTime:Integer; //该函数返回用毫秒值表示的时间。
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Interval:=GetCaretBlinkTime;
Timer1.Enabled:=Not Timer1.Enabled;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
FlashWindow(Form1.Handle,TRUE);
end;
2:某些程序退出后在任务栏中留下一个空格,点一下才消失。如何处理?
要解决这个问题,首先得找原因,造成这个问题,是因为Form的 WindowState= wsMaximized,而且 Form的BorderIcons 中没有 biMaximize 属性。如果From的BorderStyle的属性是bsNone,只在BorderIcons中添加biMaximize还不能解决问题,必须得设置From的BorderStyle的属性不为bsNone,比如说,是bsSingel等,为此可以有以下解决办法:
procedure TForm1.FormCloseQuery(Sender: TObject;var CanClose: Boolean);
begin
Form1.BorderIcons :=Form1.BorderIcons + [biMaximize];
Form1.BorderStyle := bsSingle ;
end;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?