程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 閃動標題欄

閃動標題欄

編輯:Delphi
在你的應用程序中,你可能會希望將應用程序的標題欄進行閃動,以提醒用戶進行某種操作,本文介紹了如何使一個窗口的標題欄進行閃動。 


  閃動一個窗口的標題欄意味著改變它的標題欄的外觀,例如它從活動變為不活動,或是從不活動變為活動等等。只要你能在Delphi 或者 C++ Builder 中得到窗口的句柄,你就可以使用Windows 應用程序編程接口(API)函數來使該窗口的標題欄進行閃動。函數FlashWindows可以被用使一個特定的窗口閃動一次。 
           
  函數原形:
               
  function FlashWindow(const hwnd:Integer;const bInvert:LongBool):LongBool; 
             
  該函數需要2個參數,第一個參數是要閃動標題欄的窗口的句柄,第二個參數用於指定是設置窗口的閃動狀態,還是恢復其原始狀態。如果該bInvert參數為True,則表明窗口的標題欄被閃動,如果該參數為False,則表明窗口的標題欄被恢復為原始狀態。

  該函數所返回的值用於指定調用該函數前窗口的狀態,如果該返回值True,則表明窗口在調用該函數之前是活動的,否則,如果返回值為False,則表明調用函數前窗口是非活動的。

  當使用該FlashWindow函數時,一個較好的方法是將標題欄閃動的頻率設置為同脫字符(也即閃動的光標)相同,脫字符的閃動頻率可以通過調用函數GetCaretBlinkTime來獲得。要使用該函數,需要將如下的聲明語句包含在你的窗體的通用聲明部分中:

  function GetCaretBlinkTime:Integer;
            該函數返回用毫秒值表示的時間。例程: 建立新的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;

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved