閃動標(biāo)題欄:
在你的應(yīng)用程序中,你可能會希望將應(yīng)用程序的標(biāo)題欄進行閃動,以提醒用戶進行某種操作,本文介紹了如何使一個窗口的標(biāo)題欄進行閃動。
閃動一個窗口的標(biāo)題欄意味著改變它的標(biāo)題欄的外觀,例如它從活動變?yōu)椴换顒?或是從不活動變?yōu)榛顒拥鹊取V灰隳茉贒elphi 或者 C++Builder 中得到窗口的句柄,你就可以使用Windows 應(yīng)用程序編程接口(API)函數(shù)來使該窗口的標(biāo)題欄進行閃動。函數(shù)FlashWindows可以被用使一個特定的窗口閃動一次。
函數(shù)原形:
function FlashWindow(const hwnd:Integer;constbInvert:LongBool):LongBool;
該函數(shù)需要2個參數(shù),第一個參數(shù)是要閃動標(biāo)題欄的窗口的句柄,第二個參數(shù)用于指定是設(shè)置窗口的閃動狀態(tài),還是恢復(fù)其原始狀態(tài)。如果該bInvert參數(shù)為True,則表明窗口的標(biāo)題欄被閃動,如果該參數(shù)為False,則表明窗口的標(biāo)題欄被恢復(fù)為原始狀態(tài)。
該函數(shù)所返回的值用于指定調(diào)用該函數(shù)前窗口的狀態(tài),如果該返回值True,則表明窗口在調(diào)用該函數(shù)之前是活動的,否則,如果返回值為False,則表明調(diào)用函數(shù)前窗口是非活動的。
當(dāng)使用該FlashWindow函數(shù)時,一個較好的方法是將標(biāo)題欄閃動的頻率設(shè)置為同脫字符(也即閃動的光標(biāo))相同,脫字符的閃動頻率可以通過調(diào)用函數(shù)GetCaretBlinkTime來獲得。要使用該函數(shù),需要將如下的聲明語句包含在你的窗體的通用聲明部分中:
function GetCaretBlinkTime:Integer;
該函數(shù)返回用毫秒值表示的時間。例程: 建立新的Project,并新建一From(包括New
Project建立的Form,共兩個),在Form1中加入一Button和Timer,按下面的方法建立程序.
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.Show;
Form1.BringToFront;
Timer1.Interval:=GetCaretBlinkTime;
Timer1.Enabled:=Not Timer1.Enabled;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
FlashWindow(Form2.Handle,TRUE);
end;
新聞熱點
疑難解答
圖片精選