Windows規(guī)定,如果一個(gè)窗口是浮動(dòng)的工具類型窗口時(shí),它就不在任務(wù)欄上顯示了。 要為窗口設(shè)置這個(gè)屬性,可以利用API函數(shù)SetWindowLong。該函數(shù)用來改變窗口的一些特征它的定義如下: //////////////////////////////////////////////////////////////////////////////////////// LONG SetWindowLong( HWND,hWnd ////窗口句柄 int nIndex, ////值的偏移設(shè)置量 LONG dwNewLong ////新值 ); ///////////////////////////////////////////////////////////////////////////////////////////// 參數(shù)nIndex的取值見下表: #define GWL_WNDPROC (-4) ////為窗口過程設(shè)置新地址 #define GWL_HINSTANCE (-6) ////設(shè)置一個(gè)新的應(yīng)用程序?qū)嵗浔?br>#define GWL_HWNDPARENT (-8) //// #define GWL_STYLE (-16) ////設(shè)置新窗口類型 #define GWL_EXSTYLE (-20) ////設(shè)置新窗口擴(kuò)展類型 #define GWL_USERDATA (-21) ////為窗口設(shè)置一個(gè)相聯(lián)系的32位值,每一個(gè)窗口都有一個(gè)32位值,應(yīng)用程序產(chǎn)生這個(gè)窗口時(shí)要利用這個(gè)值 #define GWL_ID (-12)////為窗口設(shè)置一個(gè)新的識別號 如果hWnd參數(shù)為對話框,nIndex還可以取如下三個(gè)值: DWL_DLGPROC ////為對話框過程設(shè)置新地址 DWL_MSGRESULT ////為對話框設(shè)置返回值 DWL_USER ////為應(yīng)用程序設(shè)置新的額外信息 ////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////// 這樣,要使應(yīng)用程序不顯示在任務(wù)欄上,則在窗口的構(gòu)造函數(shù)中寫下面一句就可以了: ///////////////////////////////////////////////////////////////////////////////////////////// __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { SetWindowLong(Application->Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW); } /////////////////////////////////////////////////////////////////////////////////////////////
|