1 VC的對話框字體設(shè)置對所有控件都有效,你不能單獨(dú)地改變某個(gè)靜態(tài)文本的字體。對于你的問題,需要首先用CreateFont來建立一個(gè)字體對象,然后調(diào)用控件的SetFont,就可以了。
????例子:
????1、改靜態(tài)文體的ID,如:IDC_STATIC1
????2、添加一個(gè)Edit控件,建立一個(gè)關(guān)聯(lián)的控件m_editControl。
????3、在OnInitDialog中添加如下代碼:
CFont?*?f;?
?????f?=?new?CFont;?
?????f->CreateFont(16,?//?nHeight?
?????0,?//?nWidth?
?????0,?//?nEscapement?
?????0,?//?nOrientation?
?????FW_BOLD,?//?nWeight?
?????TRUE,?//?bItalic?
?????FALSE,?//?bUnderline?
?????0,?//?cStrikeOut?
?????ANSI_CHARSET,?//?nCharSet?
?????OUT_DEFAULT_PRECIS,?//?nOutPrecision?
?????CLIP_DEFAULT_PRECIS,?//?nClipPrecision?
?????DEFAULT_QUALITY,?//?nQuality?
?????DEFAULT_PITCH?|?FF_SWISS,?//?nPitchAndFamily?
?????_T("Arial"));?//?lpszFac?
???
?????GetDlgItem(IDC_STATIC1)->SetFont(f);?需要注意的是,這里我們使用的是CFont指針,而不是普通的CFont局部變量,?在非MFC程序,首先用CreateFont來建立一個(gè)字體句柄,然后再用SendMessage發(fā)給控件WM_SETFONT消息,將建立的字體句柄賦值過去,就可以了。
實(shí)例下載:http://www.china-askpro.com/download/CtrlFont.zip
?
2 但是整個(gè)對話框或窗口的字體的大小,使用對話框或窗口的SetFont()函數(shù)卻沒有任何的作用.可以在初始化時(shí)遍歷每個(gè)控件分別設(shè)置來處理,但這里說另一種使用回調(diào)函數(shù)的簡單方法:
?? :調(diào)用系統(tǒng)的API:::EnumChildWindows(). ,
傳入回調(diào)函數(shù)和重新定義的字體.(第一個(gè)參數(shù)不用管啊,本來就有啊)
)
?? 1)在文檔視圖結(jié)構(gòu)中CMainFrame::OnCreate().中調(diào)用::EnumChildWindows().?實(shí)現(xiàn)所有窗口和子窗口字體改變
?? 2) 在對話框的OnInitDialog(). 中調(diào)用::EnumChildWindows(). 改變對話窗上的所有控件.
回調(diào)函數(shù)如下:
//?lParam?is?a?pointer?to?CFont?object
BOOL?__stdcall?SetChildFont(HWND?hwnd,?LPARAM?lparam)


{
??CFont?*pFont?=?(CFont*)lparam;
??CWnd?*pWnd?=?CWnd::FromHandle(hwnd);
??pWnd->SetFont(pFont);
??return?TRUE;
}?
使用1:
BOOL?CAboutDlg::OnInitDialog()?


{
????CDialog::OnInitDialog();
????
????//?TODO:?Add?extra?initialization?here
??::EnumChildWindows(m_hWnd,?::SetChildFont,?(LPARAM)g_Font.GetFont());
????
????return?TRUE;??//?return?TRUE?unless?you?set?the?focus?to?a?control
??????????????????//?EXCEPTION:?OCX?Property?Pages?should?return?FALSE
}



使用2:
int?CMainFrame::OnCreate(LPCREATESTRUCT?lpCreateStruct)


{
????if?(CFrameWnd::OnCreate(lpCreateStruct)?==?-1)
????????return?-1;
????
????if?(!m_wndToolBar.CreateEx(this,?TBSTYLE_FLAT,?WS_CHILD?|?WS_VISIBLE?|?CBRS_TOP
????????|?CBRS_GRIPPER?|?CBRS_TOOLTIPS?|?CBRS_FLYBY?|?CBRS_SIZE_DYNAMIC)?||
????????!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))

????
{
????????TRACE0("Failed?to?create?toolbar\n");
????????return?-1;??????//?fail?to?create
????}

????if?(!m_wndStatusBar.Create(this)?||
????????!m_wndStatusBar.SetIndicators(indicators,
??????????sizeof(indicators)/sizeof(UINT)))

????
{
????????TRACE0("Failed?to?create?status?bar\n");
????????return?-1;??????//?fail?to?create
????}

????m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
????EnableDocking(CBRS_ALIGN_ANY);
????DockControlBar(&m_wndToolBar);

??::EnumChildWindows(m_hWnd,?::SetChildFont,?(LPARAM)g_Font.GetFont());

????return?0;
}(很好用,不像mfc中的那個(gè)垃圾setfont(),設(shè)置了對話框的沒有一點(diǎn)反應(yīng)!)
實(shí)例下載:http://www.codeproject.com/gdi/SetFont/SetFont_demo.zip
3 如何在mfc中實(shí)現(xiàn),當(dāng)系統(tǒng)的字體變大的時(shí)候,對話框上面的字體也相應(yīng)的變大?(非常感謝)
//IconFont
????LOGFONT?logFont;
????int??size?=?sizeof(LOGFONT);
????bool?isGood?=?SystemParametersInfo(SPI_GETICONTITLELOGFONT,size,&logFont,0);
????if(isGood?==?true)

????
{
????????CFont?*?f;
????????f?=?new?CFont;
???????????? const LOGFONT* pFont = new LOGFONT(logFont);
????????f->CreateFontIndirectW(pFont);
????????//::EnumChildWindows(m_hWnd,?::SetChildFont,?(LPARAM)f);
????}

????//other?Font
????NONCLIENTMETRICS?ncm?=?new?NONCLIENTMETRICS();????????????????
????bool?isGood?=?SystemParametersInfo(SPI_GETNONCLIENTMETRICS,?sizeof(NONCLIENTMETRICS),?ref?ncm,?0);
????if?(isGood?==?true)

????
{
????????LOGFONT?logFont2;
????????//logFont2=ncm.lfntCaptionFont);//CaptionFont
????????//logFont2?=ncm.lfntSMCaptionFont;//CaptionFont_Small
????????//logFont2?=?ncm.lfntMenuFont;//MenuFont
????????//logFont2?=?ncm.lfntStatusFont;//StatusFont
????????logFont2?=?ncm.lfntMessageFont;//MessageFont

????????CFont?*?f;
????????f?=?new?CFont;
???????????? const LOGFONT* pFont = new LOGFONT(logFont2);
????????f->CreateFontIndirectW(pFont);
????????//::EnumChildWindows(m_hWnd,?::SetChildFont,?(LPARAM)f);

????}以上是取得系統(tǒng)字體的大小,然后再調(diào)用上面的第二種方法,哈哈哈哈哈!
窗體上的所有字體都會跟著系統(tǒng)字體的大小改變,哈哈哈哈!
主要使用API:
SystemParametersinfo該函數(shù)查詢或設(shè)置系統(tǒng)級參數(shù)。該函數(shù)也可以在設(shè)置參數(shù)中更新用戶配置文件
函數(shù)功能:該函數(shù)查詢或設(shè)置系統(tǒng)級參數(shù)。該函數(shù)也可以在設(shè)置參數(shù)中更新用戶配置文件。
????函數(shù)原型:B00L?SystemParametersinfo(UINT?uiAction,UINT?uiParam,PVOID?pvParam,UINT?fWinlni);
????參數(shù):
????uiAction:該參數(shù)指定要查詢或設(shè)置的系統(tǒng)級參數(shù)。其取值如下;
????SPI_GETACCESSTIMEOUT:檢索與可訪問特性相關(guān)聯(lián)的超時(shí)段的信息,PvParam參數(shù)必須指向某個(gè)ACCESSTIMEOUT結(jié)構(gòu)以獲得信息,并將該結(jié)構(gòu)中的cbSjze成員和ulParam參數(shù)的值設(shè)為sizeof(ACCESSTIMEOUT)。
????SPI_GETACTIVEWINDOWTRACKING:用于Windows?98和Windows?NT?5.0及以后的版本。它表示是否打開活動(dòng)窗口跟蹤(激活該窗口時(shí)鼠標(biāo)置為開狀態(tài)),pvParam參數(shù)必須指向一個(gè)BOOL型變量(打開時(shí)接收值為TRUE,關(guān)閉時(shí)為FALSE)。
????SPI_GETACTIVEWNDTRKZORDER;用于Windows?98和Windows?NT?5.0及以后版本。它表示通過活動(dòng)窗口跟蹤開關(guān)激活的窗口是否要置于最頂層。pvParam參數(shù)必須指向一個(gè)BOOL型變量,如果要置于頂層,那么該變量的值為TRUE,否則為FALSE。
????SPI_GETACTIVEWNDTRKTIMEOUT:用于Windows?98和?Windows?NT?5.0及以后版本。它指示活動(dòng)窗口跟蹤延遲量,單位為毫秒。pvParam參數(shù)必須指向DWORD類型變量,以接收時(shí)間量。
????SPI_GETANIMATION:檢索與用戶活動(dòng)有關(guān)的動(dòng)畫效果。pvParam參數(shù)必須指向ANIMATIOINFO結(jié)構(gòu)以接收信息。并將該結(jié)構(gòu)的cbSize成員和ulParam參數(shù)置為sizeof(ANIMATIONINFO)。
????SPI_GETBEEP:表示警告蜂鳴器是否是打開的。pvParam參數(shù)必須指向一個(gè)BOOL類型變量,如果蜂鳴器處于打開狀態(tài),那么該變量的值為TRUE,否則為FALSE。
????SpI_GETBORDER:檢索決定窗口邊界放大寬度的邊界放大因子。pvParam參數(shù)必須指向一個(gè)整型變量以接收該值。
????SPI_GETDEFAULTINPUTLANG:返回用于系統(tǒng)缺省輸入語言的鍵盤布局句柄。pvParam參數(shù)必須指向一個(gè)32位變量,以接收該值。
????SPI_GETCOMBOBOXANIMATION:用于Windows?98和Windows?NT?5.0及以后版本。它表示用于組合柜的動(dòng)打開效果是否允許。pvParam參數(shù)必須指向一個(gè)BOOL變量,如果允許,那么變量返回值為TRUE,否則為FALSE。
????SPI_GETDRAGFULLWINDOWS:確定是否允許拖拉到最大窗口。pvParam參數(shù)必須指向BOOL變量,如果允許,返回值為TRUE,否則為FALSE。對于Windows?95系統(tǒng),該標(biāo)志只有在安裝了Windows?plusl才支持。
????SPI_GETFASTTASKSWITCH:該標(biāo)志已不用!以前版本的系統(tǒng)使用該標(biāo)志來確定是否允許Alt+Tab快速任務(wù)切換。對于Windows?95、Windows?98和Windows?NT?4.0版而言,快速任務(wù)切換通常是允許的。
????SPI_GETFILTERKEYS:檢索有關(guān)FILTERKEYS(過濾鍵)易用特征信息。pvParam參數(shù)必須指向接收信息的filterkeys結(jié)構(gòu),并將該結(jié)構(gòu)中的cbSze成員和ulParam參數(shù)的值設(shè)為sizeof(FILTERKEYS)。
????SPI_GETFONTSMOOTHING:表示字體平滑處理特征是否允許。該特征使用字體保真技術(shù),通過在不同灰度級上涂上像素使字體曲線顯得更加平滑。參數(shù)pvParam必須指向BOOL類型變量,如果該特征被允許,那么返回值為TRUE,否則為FALSE。對于Windows?95系統(tǒng),該標(biāo)志只有在安裝了Windows?plusl才支持。
????SPI_GETFOREGROUNDFLASHCOUNT:用于Windows?98和Windows?NT?5.0及以后版本。它表示在拒絕前臺切換申請時(shí)系統(tǒng)閃爍任務(wù)條按鈕的次數(shù)。參數(shù)pvParam必須指向DWORD變量,以接收該值。
????SPI_GETFOREGROUNDLOCKTIMEOUT:用于Windows?NT?5.O及以后版本或Windows?98。它表示在系統(tǒng)禁止應(yīng)用程序強(qiáng)行將自己進(jìn)入前臺期間的時(shí)間量,單位為毫秒.參數(shù)pvParam必須指向DWORD變量以接收時(shí)間值。
????SPI_GETGRADIENTCAPTIONS:用于Windows?98和Windows?NT?5.0及以后版本。它表示是否允許有用于窗口標(biāo)題欄的傾斜效果。參數(shù)pvParam必須指向BOOL變量,其值在允許時(shí)為TRUE,禁止時(shí)為FALSE。
????SPL_GETGRIDGRANULARITY:檢索桌面大小網(wǎng)格的當(dāng)前顆粒度值。參數(shù)pVparam必須指向一個(gè)整型變量以接收該值。
????SPI_GETHIGHCONTRAST:用于Windows?95及更高版本、Windows?NT?5.0及以后版本。檢索與HighContrast易用特征有關(guān)的信息。pvParam參數(shù)必須指向用于接收該信息的HIGHCONTRAST結(jié)構(gòu),該結(jié)構(gòu)中的。cbSize成員和ulParam參數(shù)的值應(yīng)設(shè)為sizeof(NIGHCONTRAST)。
2004-09-10 11:47:30
回復(fù)人: lixiaosan
SPI_GETICONMETRICS:檢索與圖標(biāo)有關(guān)的度量信息。參數(shù)pvParam必須指向一個(gè)ICONMETRICS結(jié)構(gòu)以接收信息。該結(jié)構(gòu)中的。cbSize成員和ulParam參數(shù)的值應(yīng)設(shè)為sizeof(ICONMETRICS)。
????SPI_GETICONTITLELOGFONT:檢索當(dāng)前圖標(biāo)標(biāo)題字體的邏輯字體信息。參數(shù)ulParam規(guī)定了logfont結(jié)構(gòu)的大小,參數(shù)pvParam必須指向要填充的Iogfont結(jié)構(gòu)。
????SPI_GETICONTITLEWRAP:確定是否允許圖標(biāo)標(biāo)題環(huán)繞。pvParam參數(shù)必須指向一個(gè)BOOL類型變量,該變量的值在允許時(shí)為TRUE,否則為FALSE。
????SPI_GETKEYBOARDDELAY:檢索鍵盤重復(fù)擊鍵延遲設(shè)置,該值范圍從0(大約25Oms延遲)到3(大約1秒延遲)。與該范圍里每一個(gè)值相關(guān)的實(shí)際延遲時(shí)間可能與硬件有關(guān)。pvParam參數(shù)必須指向一個(gè)整型變量以接收設(shè)置值。
????SPI_GETKEYBOARDPREF:用于Windows?95及以后版本。Windows?NT?5.O及以后版本。它確定用戶是否依賴鍵盤而非鼠標(biāo),是否要求應(yīng)用程序顯示鍵盤接口,以免隱藏。pvParam參數(shù)必須指向一個(gè)BOOL類型變量,如果用戶依賴鍵盤,那么該變量取值為TRUE,否則為FALSE。
????SPI_GETKEYBOARDSPEED:檢索鍵盤重復(fù)擊鍵速度設(shè)置情況,該值范圍從0(大約30次/秒)至31(大約25次/秒)。實(shí)際的擊鍵速率與硬件有關(guān),而且變動(dòng)的線性幅度有可能高達(dá)20%。參數(shù)pvParam必須指向DWORD變量以接收設(shè)置值。
????SPI_GETLISTBOXSMOOTHSCROLLING:用于Windows?98和Windows?NT?5.0及以后版本。表示是否允許有列表欄的平滑滾動(dòng)效果。pvParam參數(shù)必須指向BOOL變量,如果允許,則該值為TRUE,否則為FALSE。
????SPI_GETLDWPOWERACTIVE:確定是否允許屏幕保護(hù)的低電壓狀態(tài)。如果允許,那么指向BOOL變量的pvParam參數(shù)會接收到TRUE值,否則為FALSE。對于Windows?98,該標(biāo)志對16位和32位應(yīng)用程序都支持。
????對于Windows?95,該標(biāo)志只支持16位應(yīng)用程序。對于Windows?NT,在Windows?NT?5.0及以后版本中支持32位應(yīng)用程序,對16位應(yīng)用程序則不支持。
????SPI_GETLOWPOWERTIMEOUT:檢索用于屏幕保護(hù)的低電壓狀態(tài)超時(shí)值。pvParam參數(shù)必須指向一個(gè)整型變量,以接收該值。對于Windows?98該標(biāo)志支持16位和32位應(yīng)用程序。對于Windows95,該標(biāo)志只支持16位應(yīng)用程序。對于Windows?NT,該標(biāo)志支持Windows?NT?5.0及以后版本上的32位應(yīng)用程序。不支持16位應(yīng)用程序。
????SPI_GETMENUDROPALIGNMENT。確定彈出式菜單相對于相應(yīng)的菜單條項(xiàng)是左對齊,還是右對齊、參數(shù)pvParam必須指向一個(gè)BOOL類型變量,如果是左對齊。那么該變量值為TRUE,否則為FALSE。SPI_GETMINIMIZEDMETRICS:檢索最小化窗口有關(guān)的度量數(shù)據(jù)信息。參數(shù)pvParam必須指向MINIMIZEDMETRCS結(jié)構(gòu),以接收信息。該結(jié)構(gòu)中的cbSize和ulParam參數(shù)的值應(yīng)設(shè)為sizeof(MINIMIZEDMETRICS)。
????SPI_GETMOUSE:檢索鼠標(biāo)的2個(gè)閾值和加速特性。pvParam參數(shù)必須指向一個(gè)長度為3的整型數(shù)組,分別存儲此值。
????SPI_GETMOUSEHOVERHEGHT:用于Windows?NT?4.0及以后版本或Windows?98。獲得在TrackMouseEvent事件中,為產(chǎn)生WM_MOUSEOVER消息而鼠標(biāo)指針必須停留的矩形框的高度,以像素為單位。參數(shù)pvParam必須指向一個(gè)UINT變量以接收這個(gè)高度值。
????SPI_GETMOUSEHOVERTIME:用于Windows?NT?4.0及以后版本、Windows?98,獲得在TrackMouseEvent事件中,為產(chǎn)生WM_MOUSEOVER消息而鼠標(biāo)指針必須停留在矩形框內(nèi)的時(shí)間,單位為毫秒。參數(shù)pvParam必須指向一個(gè)UINT變量以接收該時(shí)間值。
????SPI_GETMOUSEHOVERWIDTH:用于Windows?NT?4.0及以后版本、Windows?98。獲得在TrackMouseEvent事件中,為產(chǎn)生WM_MOUSEOVER消息而鼠標(biāo)指針必須停留的矩形框的寬度,以像素為單位。參數(shù)pvParam必須指向一個(gè)UINT變量以接收這個(gè)寬度值。
????SPI_GETMOUSEKEYS:檢索與MOUSEKEYS易用特征有關(guān)的信息,pvParam參數(shù)必須指向某個(gè)MOUSEKEYS結(jié)構(gòu),以獲取信息。應(yīng)將結(jié)構(gòu)的cbSize成員和ulParam參數(shù)設(shè)置為sizeof(MOUSEKEYS)。
????SPI_GETMOUSESPEED:用于Windows?NT?5.0及以后版本、Windows?98。檢索當(dāng)前鼠標(biāo)速度。鼠標(biāo)速度決定了鼠標(biāo)移動(dòng)多少距離,鼠標(biāo)的指針將移動(dòng)多遠(yuǎn)。參數(shù)pvParam指向一個(gè)整型變量,該變量接收1(最慢)至20(最快)之間的數(shù)值。缺省值為們10。這個(gè)值可以由最終用戶使用鼠標(biāo)控制面板應(yīng)用程序或使用調(diào)用了SPI_SETMOUSESPEED的應(yīng)用程序來設(shè)置。
????SPI_GETMOUSETRAILS:用于WpvParam必須指向一個(gè)BOOL類型變量,如果是左對齊。那么該變量值為TRUE,否則為FALSE。
????SPI_GETMINIMIZEDMETRICS:檢索最小化窗口有關(guān)的度量數(shù)據(jù)信息。參數(shù)pvParam必須指向MINIMIZEDMETRCS結(jié)構(gòu),以接收信息。該結(jié)構(gòu)中的cbSize和ulParam參數(shù)的值應(yīng)設(shè)為sizeof(MINIMIZEDMETRICS)。
????SPI_GETMOUSE:檢索鼠標(biāo)的2個(gè)閾值和加速特性。pvParam參數(shù)必須指向一個(gè)長度為3的整型數(shù)組,分別存儲此值。
????SPI_GETMOUSEHOVERHEGHT:用于Windows?NT?4.0及以后版本或Windows?98。獲得在TrackMouseEvent事件中,為產(chǎn)生WM_MOUSEOVER消息而鼠標(biāo)指針必須停留的矩形框的高度,以像素為單位。參數(shù)pvParam必須指向一個(gè)UINT變量以接收這個(gè)高度值。
????SPI_GETMOUSEHOVERTIME:用于Windows?NT?4.0及以后版本、Windows?98,獲得在TrackMouseEvent事件中,為產(chǎn)生WM_MOUSEOVER消息而鼠標(biāo)指針必須停留在矩形框內(nèi)的時(shí)間,單位為毫秒。參數(shù)pvParam必須指向一個(gè)UINT變量以接收該時(shí)間值。
????SPI_GETMOUSEHOVERWIDTH:用于Windows?NT?4.0及以后版本、Windows?98。獲得在TrackMouseEvent事件中,為產(chǎn)生WM_MOUSEOVER消息而鼠標(biāo)指針必須停留的矩形框的寬度,以像素為單位。參數(shù)pvParam必須指向一個(gè)UINT變量以接收這個(gè)寬度值。
????SPI_GETMOUSEKEYS:檢索與MOUSEKEYS易用特征有關(guān)的信息,pvParam參數(shù)必須指向某個(gè)MOUSEKEYS結(jié)構(gòu),以獲取信息。應(yīng)將結(jié)構(gòu)的cbSize成員和ulParam參數(shù)設(shè)置為sizeof(MOUSEKEYS)。SPI_GETMOUSESPEED:用于Windows?NT?5.0及以后版本、Windows?98。檢索當(dāng)前鼠標(biāo)速度。鼠標(biāo)速度決定了鼠標(biāo)移動(dòng)多少距離,鼠標(biāo)的指針將移動(dòng)多遠(yuǎn)。參數(shù)pvParam指向一個(gè)整型變量,該變量接收1(最慢)至20(最快)之間的數(shù)值。缺省值為們10。這個(gè)值可以由最終用戶使用鼠標(biāo)控制面板應(yīng)用程序或使用調(diào)用了SPI_SETMOUSESPEED的應(yīng)用程序來設(shè)置。
????SPI_GETMOUSETRAILS:用于Windows?95及更高版本。它用來表示是否允許MouseTrails(鼠標(biāo)軌跡)。該特征通過簡單地顯示鼠標(biāo)軌跡并迅速擦除它們來改善鼠標(biāo)的可見性。參數(shù)prParam必須指向一個(gè)整型變量來接收該值。如果這個(gè)值為0或1,那么表示禁止該特征。如果該值大于1,則說明該特征被允許,并且該值表示在鼠標(biāo)軌跡上畫出的光標(biāo)數(shù)目。參數(shù)ulParam不用。
2004-09-10 11:47:54
回復(fù)人: lixiaosan
SPI_GETNONCLIENTMETRICS:檢索與非最小化窗口的非客戶區(qū)有關(guān)的度量信息。參數(shù)pvParam必須指向NONCLIENTMETRICS結(jié)構(gòu),以便接收相應(yīng)值。該結(jié)構(gòu)的。cbSize成員與ulParam參數(shù)值應(yīng)設(shè)為sizeof(NONCLIENTMETRICS)。對于Windows?98,該標(biāo)志支持16位和32位應(yīng)用程序。對于Windows?95,該標(biāo)志只支持16位應(yīng)用程序。對于Windows?NT該標(biāo)志在NT?5.0及以后版本中支持32位應(yīng)用程序,不支持16位應(yīng)用程序。
????SPI_GETPOWEROFFACTIVE:確定是否允許屏幕保護(hù)中關(guān)電。TRUE表示允許,F(xiàn)A參數(shù)pvParam必須指定SERIALKEYS結(jié)構(gòu)來接收信息。該結(jié)構(gòu)中的cbSize成員和ulParam參數(shù)的值要設(shè)為sizeof(SERIALKEYS)。
????SPI_GETSHOWSOUNDS:確定ShowSounds易用特性標(biāo)志是開或是關(guān)。如果是開,那么用戶需要一個(gè)應(yīng)用程序來可視化地表達(dá)信息,占則只能以聽得見的方式來表達(dá)。參數(shù)pvParam必須指向一個(gè)BOOL類型變量。該變量在該特征處于開狀態(tài)時(shí)返回TRUE,否則為FALSE。使用這個(gè)值等同于調(diào)用GetSystemMetrics(SM_SHOWSOUNDS)。后者是推薦使用的調(diào)用方式。
????SPI_GETSNAPTODEFBUTTON:用于Windows?NT?4.0及以后版本、Windows?98:確定?Snap-TO-Default-Button(轉(zhuǎn)至缺省按鈕)特征是否允許。如果允許,那么鼠標(biāo)自動(dòng)移至缺省按鈕上,例如對話框的"Ok"或"Apply"按鈕。pvParam參數(shù)必須指向Bool類型變量,如果該特征被允許,則該變量接收到TRUE,否則為FALSE。
????SPI_GETSOUNDSENTRY:檢索與SOUNDSENTRY可訪問特征有關(guān)的信息。參數(shù)pvParam必須指向SOUNDSENTRY結(jié)構(gòu)以接收信息。該結(jié)構(gòu)中的。cbSize或員和ulParam參數(shù)的值要設(shè)為sizeof(SOUNDSENTRY)。
????SPI_GETSTICKYKEYS:檢索與StickyKeys易用特征有關(guān)的信息。參數(shù)?pvParam必須指向STICKYKEYS結(jié)構(gòu)以獲取信息。該結(jié)構(gòu)中的cbSze成員及ulParam參數(shù)的值須設(shè)為sizeof(STICKYKEYS)。
????SPI_GETSWITCHTASKDISABLE:用于Windows?NT?5.0、Windows?95及以后版本,確定是否允許Alt+Tab和AIt+Esc任務(wù)切換。參數(shù)pvParam必須指向UINT類型變量,如果禁止任務(wù)切換,那么返回值為1,否則為0。在缺省情況下,是允許進(jìn)行任務(wù)切換的。
????SPI_GETTOGGLEKEYS:檢索與ToggleKeys易用特性有關(guān)的信息。參數(shù)pvParam必須指向TOGGLEKEYS結(jié)構(gòu)以獲取信息。該結(jié)構(gòu)中的cbSize成員和ulParam參數(shù)值要設(shè)置sizeof(TOGGLEKEYS)。
????SPI_GETWHEELSCROLLLINES:用于Windows?NT?4.0及以后版本、Windows?98。當(dāng)前軌跡球轉(zhuǎn)動(dòng)時(shí),獲取滾動(dòng)的行數(shù)。參數(shù)pvParam必須指向UINT類型變量以接收行數(shù)。缺省值是3。
????SPI_GETWINDOWSEXTENSION:在Windows?95中指示系統(tǒng)中是否裝了Windows?Extension和Windows?Plus!。
????參數(shù)ulParam應(yīng)設(shè)為1。而參數(shù)pvParam則不用。如果安裝了Windows?Extenson,那么該函數(shù)返回TRUE,否則為FALSE。
????SPI_GETWORKAREA:檢索主顯示器的工作區(qū)大小。工作區(qū)是指屏幕上不被系統(tǒng)任務(wù)條或應(yīng)用程序桌面工具遮蓋的部分。參數(shù)pvParam必須指向RECT結(jié)構(gòu)以接收工作區(qū)的坐標(biāo)信息,坐標(biāo)是用虛擬屏幕坐標(biāo)來表示的。為了獲取非主顯示器的工作區(qū)信息,請調(diào)用GetMonitorlnfo函數(shù)。參數(shù)ulParam指定寬度,單位是像素。
????SPI_ICONVERTICALSPACING:設(shè)置圖標(biāo)單元的高度。參數(shù)ulParam指定高度,單位是像素。
????SPI_LANGDRIVER:未實(shí)現(xiàn)。
????SPI_SCREENSAVERRUNNING:改名為SPI_SETSCREENSAVERRUNNING。
????Spl_SETACCESSTIMEOUT:設(shè)置與可訪問特性有關(guān)的時(shí)間限度值,參數(shù)?pvParam必須指向包含新參數(shù)的ACCESSTIMEOUT結(jié)構(gòu),該結(jié)構(gòu)的cbSize成員與ulParam參數(shù)的值要設(shè)為sizeof(ACCESSTMEOUT)。
????SPI_SETACTIVEWINDOWTRACKING:用于Windows?NT?5.0及以后版本、Windows?98。設(shè)置活動(dòng)窗口追蹤的開或關(guān),如果把參數(shù)pvParam設(shè)為TRUE,則表示開。pvParam參數(shù)為FALSE時(shí)表示關(guān)。
????SPI_SETACTIVEWNDTRKZORDER:用于Windows?NT?5.0及以后版本、Windows?98。表示是否把通過活動(dòng)窗口跟蹤而激活的窗口推至頂層。參數(shù)pvParam設(shè)為TRUE表示推至頂層,F(xiàn)ALSE則表示不推至頂層。
????SPI_SETACTIVEWNDTRKTIMEOUT:用于Wlindows?NT?5.0及以后版本、Windows?98。設(shè)置活動(dòng)窗口跟蹤延遲。
????參數(shù)pvParam設(shè)置在用鼠標(biāo)指針激活窗口前需延遲的時(shí)間量,單位為毫秒。
????SPI_SETBEEP:將警蜂器打開或關(guān)閉。參數(shù)ulParam指定為TRUE時(shí)表示打開,為FALSE時(shí)表示關(guān)閉。
????SPI_SETBORDER:設(shè)置確定窗口縮放邊界的邊界放大因子。參數(shù)ulParam用來指定該值。
????SPI_SETCOMBOBOXANIMATION:用于Windows?NT?5.0及以后版本和Windows?98。允許或禁止組合滑動(dòng)打開效果。如果設(shè)置pvParam參數(shù)為TRUE,則表示允許有傾斜效果,如果設(shè)為FALSE則表示禁止。
????SPI_SETCURSORS:重置系統(tǒng)光標(biāo)。將ulParam參數(shù)設(shè)為0并且pvParam參數(shù)設(shè)為NULL。
????SPI_SETDEFAULTINPUTLANG:為系統(tǒng)Shell(命令行解器)和應(yīng)用程序設(shè)置缺省的輸入語言。指定的語言必須是可使用當(dāng)前系統(tǒng)字符集來顯示的。pvParam參數(shù)必須指向DWORD變量,該變量包含用于缺省語言的鍵盤布局句柄。
????SpI_SETDESKpATTERN:通過使Windows系統(tǒng)從WIN.INI文件中pattern=設(shè)置項(xiàng)來設(shè)置當(dāng)前桌面模式。
????SPI_SETDESKWALLPAPER:設(shè)置桌面壁。pvParam參數(shù)必須指向一個(gè)包含位圖文件名,并且以NULL(空)結(jié)束的字符串。
????SPI_SETDOUBLECLICKTIME:設(shè)ulParam參數(shù)的值為目標(biāo)雙擊時(shí)間。雙擊時(shí)間是指雙擊中的第1次和第2次點(diǎn)擊之間的最大時(shí)間,單位為毫秒。也可以使用SetDoubleClickTime函數(shù)來設(shè)置雙擊時(shí)間。為獲取當(dāng)前雙擊時(shí)間,請調(diào)用GetDoubleClickTime函數(shù)。
????SPI_SETDOUBLECLKHEGHT:將ulParam參數(shù)的值設(shè)為雙擊矩形區(qū)域的高度。雙擊矩形區(qū)域是指雙擊中的第2次點(diǎn)擊時(shí)鼠標(biāo)指針必須落在的區(qū)域,這樣才能記錄為雙擊。
????SPI_SETDOUBLECLKWIDTH:將ulParam參數(shù)的值設(shè)為雙擊矩形區(qū)域的寬度。
????SPI_SETDRAGFULLWINDOWS:設(shè)置是否允許拖至最大窗口。參數(shù)uIParam指定為TRUE時(shí)表示為允許,為FALSE則不可。對于Windows?95,該標(biāo)志只有在安裝了Windows?plusl才支持。
????SPI_SETDRAGHEIGHT:設(shè)置用于檢測拖拉操作起點(diǎn)的矩形區(qū)域的高度,單位為像素。參考GETSYSTEMMETRICS函數(shù)的nlndex參數(shù)中的SM_CXDRAG和SM_CYDRAG。
????SPI_SETDRAGWIDTH:設(shè)置用于檢測拖拉操作起點(diǎn)的矩形區(qū)域的寬度,單位為像素。
????SPI_SETFASTTASKSWITCH:該標(biāo)志己不再使用。以前版本的系統(tǒng)使用此標(biāo)志來允許或不許進(jìn)行Alt+Tab快速任務(wù)切換。對于Windows?95、Windows?98和Windows?NT?4.0,通常都允許進(jìn)行快速任務(wù)切換。參考SPI_SETSWITCHTASKDISABLE。
????SPI_SETFILTERKEYS:設(shè)置FilterKeys易用特性的參數(shù)。參數(shù)pvParam必須指向包含新參數(shù)的FILTERKEYS結(jié)構(gòu),該結(jié)構(gòu)中的cbSize成員和參數(shù)ulParam的值應(yīng)設(shè)為sizeof(FILTERKEYS)。
????SPI_SETFONTSMOOTHING:允許或禁止有字體平滑特性。該特性使用字體保真技術(shù),通過在不同灰度級上涂畫像素點(diǎn)來使得字體曲線顯得更加平滑,為了允許有該特性,參數(shù)ulParam應(yīng)設(shè)為TRUE值,否則為FALSE。對于Windows?95,只有在安裝了Windows?plusl才支持該標(biāo)志。
????SPI_SETFOREGROUNDFLASHCOUNT:用于Windows?98和Windows?NT?5.0及以后版本。設(shè)置SetForegroundWindow在拒絕前臺切換申請時(shí)閃爍任務(wù)攔按鈕的次數(shù)。
2004-09-10 11:48:50
回復(fù)人: lixiaosan
SPI_SETFOREGROUNDLOCKTIMEOUT:用于Windows?98和Windows?NT?5.0及以后版本。它用來設(shè)置在用戶輸入之后,系統(tǒng)禁止應(yīng)用程序強(qiáng)行將自己進(jìn)入前臺期間的時(shí)間長度,單位為毫秒。參數(shù)pvParam設(shè)置這個(gè)新的時(shí)間限度值。
????SPI_SETGRADIENTCAPTIONS:用于Windows?98和Windows?NT?5.0及以后版本。允許或禁止窗口標(biāo)題欄有傾斜效果。如果允許則將參數(shù)pvParam設(shè)置為TRUE,否則設(shè)為FALSE。有關(guān)傾斜效果方面更多信息,請參考GetSysColor函數(shù)。
????SPI_SETGRIDGRANULARITY:將桌面縮放時(shí)網(wǎng)格的顆粒度值設(shè)置為參數(shù)ulParam中的值。
????SPI_SETHANDHELD:內(nèi)部使用,應(yīng)用程序不應(yīng)使用該值。
????SPI_SETHIGHCONTRAST:用于Windows?95及以后版本、Windows?NT?5.0及以后版本。設(shè)置HighContrast可訪問特性的參數(shù)。參數(shù)pvParam必須指向HIGHCONTRAST結(jié)構(gòu),該結(jié)構(gòu)包含新的參數(shù)。該結(jié)構(gòu)中的cbSize成員及參數(shù)ulParam的值設(shè)為sizeof(HIGHCONTRAST)。
????SPI_SETICONMETRICS:設(shè)置與圖標(biāo)有關(guān)的信息。參數(shù)pvParam必須指向包含新參數(shù)的ICONMETRICS結(jié)構(gòu),另外還要將參數(shù)ulParam和該結(jié)構(gòu)中的cbSize成員的值設(shè)置為sizeof(ICONMETRICS)。
????SPI_SETICONS:重新加載系統(tǒng)圖標(biāo)。參數(shù)ulParam的值應(yīng)設(shè)為0,而pvParam參數(shù)應(yīng)設(shè)為NULL。
????SPI_SETICONTITLELOGFONT:設(shè)置用于圖標(biāo)標(biāo)題的字體。參數(shù)ulParam指定為logfont結(jié)構(gòu)的大小,而參數(shù)pvParam必須指向一個(gè)LOGFONT結(jié)構(gòu)。
????SPI_SETICONTITLEWRAP:打開或關(guān)閉圖標(biāo)標(biāo)題折行功能。若想打開折行功能,則把參數(shù)ulParam設(shè)為TRUE,否則為FALSE。
????SPI_SETKEYBOARDDELAY:設(shè)置鍵盤重復(fù)延遲。參數(shù)ulParam必須指定為0,1,2或3。其中0表示設(shè)置為最短延遲(大約?250ms)3,表示最大延遲(大約?1?秒)。與每個(gè)值對應(yīng)的實(shí)際的延遲時(shí)間根據(jù)硬件情況有可能有些變化。
????SPI_SETKEYBOARDPREF:用于Windows?95及以后版本、Windows?NT?5.0及以后版本,設(shè)置鍵盤優(yōu)先序。如果用戶依賴鍵盤而不是鼠標(biāo),那么可將參數(shù)ulParam指定為TRUE,否則設(shè)為FALSE,并且要求應(yīng)用程序顯示而不隱蔽鍵盤接口。
????SPI_SETKEYBOARDSPEED:設(shè)置鍵盤重?fù)翩I速度。參數(shù)ulParam必須指定一個(gè)從0到31的值,其中0表示設(shè)置成最快速度(大約30次/秒),31表示設(shè)置為最低速度(大約2。5次/秒),實(shí)際的重速率與硬件有關(guān),而且可能變動(dòng)幅度高達(dá)20%。如果ulParam大于31,那么該參數(shù)仍設(shè)置為31。
????SPI_SETLANGTOGGLE:為輸入語言間切換設(shè)置熱鍵集。參數(shù)ulParam和pvParam不用。該值通過讀取注冊表來設(shè)置鍵盤屬性表單中的快捷鍵。在使用該標(biāo)志之前必須設(shè)置注冊表,注冊表中的路徑是"1"=Alt+shift,"2"=Ctrl+shift,"3"=none(無)。
????SPI_SETLISTBOXSMOOTHSCROLLING:用于Windows?98和Windows?NT?5.0及以后版本。允許或不許列表欄有平滑滾動(dòng)效果。參數(shù)pvParam設(shè)置為TRUE表示允許有平滑滾動(dòng)效果,為FALSE則表示禁止。
????SPI_SETLOWPOWERACTIVE:激活或關(guān)閉低電壓屏幕保護(hù)特性。參數(shù)ulParam設(shè)為1表示激活,0表示關(guān)閉。參數(shù)pvParam必須設(shè)為NULL。對于Windows?98,該標(biāo)志支持16位和32位應(yīng)用程序。對于Windows?95,該標(biāo)志只支持16位應(yīng)用程序。對于Windows?NT.該標(biāo)志只支持NT?5.0及以后版本的32位應(yīng)用程序,不支持16位應(yīng)用程序。
????SPI_SETLOWPOWERTIMEOUT:用于設(shè)置低電壓屏幕保護(hù)中的時(shí)間值(也稱超時(shí)值,即在超過某一時(shí)間段后自動(dòng)進(jìn)行屏幕保護(hù)),單位為秒。uIParam參數(shù)用來指定這個(gè)新值。參數(shù)pvParam必須為NULL。對于Windows98,該標(biāo)志支持16位和32位應(yīng)用程序。對于Windows?95,該標(biāo)志只支持16位應(yīng)用程序。對于Windows?NT該標(biāo)志只支持NT?5.0及以后版本的32位應(yīng)用程序,不支持16位應(yīng)用程序。
????SPI_SETMENUDROPALIGNMENT:設(shè)置彈出或菜單的對齊方式。參數(shù)ulParam指定為TRUE時(shí)表示是右對齊,F(xiàn)ALSE時(shí)為左對齊。
????SPI_SETMINIMIZEDMETRICS:設(shè)置與最小化窗口有關(guān)的數(shù)據(jù)信息,參數(shù)pvParam必須指向包含新參數(shù)的MINIMIZEDMETRICS結(jié)構(gòu)。該結(jié)構(gòu)中的cbSize成員與ulParam參數(shù)的值應(yīng)設(shè)為sizeof(MINMIZEDMETRICS)。
????SPI_SETMOUSE:設(shè)置鼠標(biāo)的兩個(gè)閥值和加速率。參數(shù)pvParam必須指向一個(gè)長度為3的數(shù)組,以指定這些值。詳細(xì)請參考mouse_event。
????SPI_SETMOUSEBUTTONSWAP:調(diào)換或恢復(fù)鼠標(biāo)左右按鈕的含義,為FALSE時(shí)表示恢復(fù)原來的含義。
????SPI_SETMOUSEHOVERHEGHT:用于Windows?98和Windows?NT?4.0及以后版本。設(shè)置鼠標(biāo)指針停留區(qū)域的高度,以像素為單位。鼠標(biāo)指針在此區(qū)域停留是為了讓TrackMouseEvent產(chǎn)生一條WM_MUOSEHOVER消息,參數(shù)ulParam用來設(shè)置此高度值。
2004-09-10 11:49:17
回復(fù)人: lixiaosan
SPI_SETMOUSEHOVERTIME:用于Windows?98和Windows?NT?4.0及以后版本。設(shè)置鼠標(biāo)指針為了讓TrackMouseEvent產(chǎn)生WM_MOUSEHOVER事件而在停留區(qū)域應(yīng)停留的時(shí)間。該標(biāo)志只有在將調(diào)用dwHoverTime參數(shù)中的HOVER_DEFAULT值傳送到TrackMouseEvent時(shí)才使用。參數(shù)ulParam設(shè)置這個(gè)新的時(shí)間值。
????SPI_SETMOUSEHOVERWIDTH:用于Windows?98和Windows?NT?4.0及以后版本。設(shè)置鼠標(biāo)指針停留區(qū)域的寬度,以像素為單位。參數(shù)ulParam設(shè)置該新值。
????SPI_SETMOUSEKEYS:設(shè)置MouseKeys易用特性的參數(shù)。參數(shù)pvParam必須指向包含新參數(shù)的MOUSEKEYS結(jié)構(gòu)。結(jié)構(gòu)中的cbSize成員與參數(shù)ulParam的值應(yīng)設(shè)為sizeof(MOUSEKEYS)。
????SPI_SETMOUSESPEED:用于Windows?NT?5.0及以后的版本和Windows?98,設(shè)置當(dāng)前鼠標(biāo)速度。參數(shù)pvParam必須指向一個(gè)1(最慢)至20(最快)之間的整數(shù)。缺省值是10。一般可以使用鼠標(biāo)控制面板應(yīng)用程序來設(shè)置該值。
????SPI_SETMOUSETRAILS:用于Windows?95及以后版本:允許或禁止有MoouseTrails(鼠標(biāo)軌跡)特性。該特性通過簡短地顯示鼠標(biāo)光標(biāo)軌跡,并迅速地擦除它們來提高鼠標(biāo)的可見度。禁止該特性可將參數(shù)ulParam設(shè)為0或1,允許時(shí),將ulParam設(shè)置為一個(gè)大于1的數(shù)值,該值表示軌跡中畫出的光標(biāo)個(gè)數(shù)。
????SPI_SETNONCLIENTMETRICS:設(shè)置與非最小化窗口的非客區(qū)有關(guān)的數(shù)據(jù)信息,參數(shù)pvParam必須指向NONCLIENTMETRICS結(jié)構(gòu),該結(jié)構(gòu)包含新的參數(shù)。其成員cbSzie和參數(shù)ulParam的值應(yīng)設(shè)為sizeof(NONCLIENTMETRICS)。
????SPI_SETPENWINDOWS;用于Windows?95及以后版本:指定是否加載筆窗口,當(dāng)加載時(shí),參數(shù)ulParam設(shè)為TRUE,不加載時(shí)為FALSE。參數(shù)pvParam為NULL。
????SPI_SETPOWEROFFACTIVE:激活或關(guān)閉屏幕保護(hù)特性參數(shù)。ulParam設(shè)為1表示激活,0表示關(guān)閉。參數(shù)pvParam必須為NULL。對于Windows?98,該標(biāo)志支持16位和32位應(yīng)用程序。對于Windows?95,該標(biāo)志只支持16位應(yīng)用程序。對于Windows?NT,該標(biāo)志支持Windows?NT?5.0及以后版本的32位應(yīng)用程序,不支持16位應(yīng)用程序。
????SPI_SETPOWEROFFTIMEOUT:設(shè)置用于關(guān)閉屏幕保護(hù)所需的時(shí)間值(也稱超時(shí)值)。參數(shù)ulParam指定該值。參數(shù)pvParam必須為NULL。對于Windows?98.該標(biāo)志支持16位和32位應(yīng)用程序。對于Windows?95,該標(biāo)志只支持16位應(yīng)用程序。對于Windows?NT,該標(biāo)志支持Windows?NT?5.0及以后版本上的32位應(yīng)用程序,不支持16位應(yīng)用程序。
????SPI_SETSCREENREADER;用于Windows?95及以后版本、Windows?NT?5.0及以后版本,表示屏幕審閱程序是否運(yùn)行。參數(shù)uiparm指定為TRUE表示運(yùn)行該程序,F(xiàn)ALSE則不運(yùn)行。
????SPI_SETSCREENSAVERRUNNING:用于Windows?95及以后版本,內(nèi)部使用。應(yīng)用程序不應(yīng)該使用此標(biāo)志SPI_SETSETSCREENSAVETIMEOUT:參數(shù)ulParam值為屏幕保護(hù)器時(shí)間限度值。該值是一個(gè)時(shí)間量,以秒為單位,在屏幕保護(hù)器激活之前,系統(tǒng)應(yīng)該一直是空閑的,超過這個(gè)值就激活屏幕保護(hù)器。
????SPI_SETSERIALKEYS:用于Windows?95及以后版本:設(shè)置SerialKeys易用特性的參數(shù)。參數(shù)pvParam必須指向包含新參數(shù)的SERIALKEYS結(jié)構(gòu),其成員cbSize和參數(shù)ulParam應(yīng)設(shè)為sizeof(SERIALKEYS)。
????SPI_SETSHOWSOUNDS:將ShowSounds易用特性設(shè)置為打開或關(guān)閉。參數(shù)ulParam指定為TRUE時(shí)表示打開,F(xiàn)ALSE表示關(guān)閉。
????SPI_SETSNAPTODEFBUTTON:用于Windows?NT?4.0及以后版本、Windows?98。允許或禁止有snap-to-default-button(跳轉(zhuǎn)至缺省按鈕)特性。如果允許,那么鼠標(biāo)光標(biāo)會自動(dòng)移至缺省按鈕上,例如對話柜中的OK或"apply"按鈕。參數(shù)ulParam設(shè)為TRUE表示允許該特性,F(xiàn)ALSE表示禁止。
????SPI_SETSOUNDSENTRY:設(shè)置SOUNDSENTRY易用特性的參數(shù)。參數(shù)pvParam必須指向SOUNDSENTRY結(jié)構(gòu),該結(jié)構(gòu)包含新參數(shù),其成員cbSize和參數(shù)ulParam的值應(yīng)設(shè)為sizeof(SOUNDSENTRY)。
????SPI_SETSTICKYKEYS:設(shè)置stickykeys可訪問特性的參數(shù)。參數(shù)pvParam必須指向包含新參數(shù)的stickykeys結(jié)構(gòu),其成員cbSize和ulParam參數(shù)的值要設(shè)為sizeof(STICKYKEYS)。
????SPI_SETSWITCHTASKDISABLE:用于Windows?NT?5.0及以后版本,允許或禁止有Alt+Tab和Alt+Esc任務(wù)切換特性。參數(shù)ulParam設(shè)為1表示允許有該特性,設(shè)為0則表示禁止。缺省情況下是允許有任務(wù)切換特性的。
????SPI_SETTOGGLEKEYS:設(shè)置togglekeys可訪問特性的參數(shù),參數(shù)PvParam必須指向TOGGLEKEYS結(jié)構(gòu),該結(jié)構(gòu)中包含新的參數(shù)。其成員cbSize和參數(shù)ulParam的值要設(shè)為sizeof(togglekeys)。
????SPI_SETWHEELSCROOLLLINES:用于Windows?98和Windows?NT?4.O及以后版本。設(shè)置當(dāng)鼠標(biāo)軌跡球轉(zhuǎn)動(dòng)時(shí)
????要滾動(dòng)的行數(shù),滾動(dòng)的行數(shù)是由參數(shù)ulParam設(shè)置的,該行數(shù)是在鼠標(biāo)軌跡球滾動(dòng),井且沒有使用修改鍵時(shí)的滾動(dòng)行數(shù)。如果該數(shù)值為0,那么不會發(fā)生滾動(dòng),如果滾動(dòng)行數(shù)比可見到的行數(shù)要大,尤其如果是WHEEL_PAGESCROLL(#defined?sa?UINT_MAX),那么滾動(dòng)操作應(yīng)該被解釋成在滾動(dòng)條的下一頁或上一頁區(qū)點(diǎn)擊一次。
????SPI_SETWORKAREA:設(shè)置工作區(qū)域大小。工作區(qū)是指屏幕上沒有被系統(tǒng)任務(wù)欄或桌面應(yīng)用程序桌面工具遮蓋的部分。參數(shù)pvParam是一個(gè)指針。指向RECT結(jié)構(gòu),該結(jié)構(gòu)規(guī)定新的矩形工作區(qū)域,它是以虛擬屏幕坐標(biāo)來表達(dá)的。在多顯示器系統(tǒng)中,該函數(shù)用來設(shè)置包含特定矩形的顯示器工作區(qū)域。如果PvParam為NULL,那么該函數(shù)將主顯示器的工作區(qū)域設(shè)為全屏。
2004-09-10 11:49:38
回復(fù)人: lixiaosan
ulParam:與查詢或設(shè)置的系統(tǒng)參數(shù)有關(guān)。關(guān)于系統(tǒng)級參數(shù)的詳情,請參考uiAction參數(shù)。否則在沒有指明情況下,必須將該參數(shù)指定為O。
????pvParam:與查詢或設(shè)置的系統(tǒng)參數(shù)有關(guān)。關(guān)于系統(tǒng)級參數(shù)的詳情,請參考uiAction參數(shù)。否則在沒有指明情況下,必須將該參數(shù)指定為NULL。
????fWinlni:如果設(shè)置系統(tǒng)參數(shù),則它用來指定是否更新用戶配置文件(Profile)。亦或是否要將WM_SETTINGCHANGE消息廣播給所有頂層窗口,以通知它們新的變化內(nèi)容。該參數(shù)可以是0或下列取值之一:
????SPIF_UPDATEINIFILE:把新的系統(tǒng)參數(shù)的設(shè)置內(nèi)容寫入用戶配置文件。
????SPIF_SENDCHANGED:在更新用戶配置文件之后廣播WM_SETTINGCHANGE消息。
????SPI_SENDWININICHANGE與?SPIF_SENDCHANGE一樣。
????返回值:如果函數(shù)調(diào)用成功,返回值非零:如果函數(shù)調(diào)用失敗,那么返回值為零。若想獲取更多錯(cuò)誤信息,請調(diào)用GetLastError函數(shù)。
????備注:該函數(shù)一般與應(yīng)用程序,例如控制面板一起使用。它可以允許用戶對Windows任意進(jìn)行定制。
????盤布局名稱是從對應(yīng)于布局的16進(jìn)制語言標(biāo)識符引生而來的。例如,美國英語(U.S.Englisth)的語言標(biāo)識符為"?0×0409",則主美國英語鍵盤布局命名為"00000409"其他的鍵盤布局如Dvotak等,命名為"00010409"、"00020409"等,關(guān)于此的列表參見MAKELANGID宏。
????Wiows?CE操作系統(tǒng)只支持下列uiAction值:
????SPI_GETBATTERYIDLETIMEOUT:在WINDOWS?CE沒有因用戶操作而掛起之前,干電池電源能堅(jiān)持給系統(tǒng)供電的時(shí)間量可以使用該標(biāo)志得到。以秒為單位,如果pvParam為0,那么該標(biāo)志被忽略。
????SPI_GETEXTERNALIDLETIMEOUT:在?Windows?CE沒有因用戶操作而掛起之前,交流電源能堅(jiān)持給系統(tǒng)供電時(shí)間的時(shí)間量可以使用該標(biāo)志得到。參數(shù)pvParam指向一個(gè)DWORD類型變量,以返回時(shí)間值,單位為秒。如果pvParam為0,那么該標(biāo)志被忽略。
????SPI_GETMOUSE:檢索鼠標(biāo)的兩個(gè)閾值和速度。
????SPI_GETOEMINFO:返回一個(gè)字符串,該字符串包含型號和制造商名稱。參數(shù)ulParam指定為pvParam參數(shù)中緩沖區(qū)的長度,在成功返回時(shí),參數(shù)pvParam中包含Unicode字符集中的字符串。
????SPI_GETPLATFORMTYPE:返回一個(gè)指定Windows?CE設(shè)備類型的字符串,例如"H/PC"。參數(shù)ulParam規(guī)定pvParam參數(shù)緩沖區(qū)的長度,后者在成功返回時(shí)包含一個(gè)Unicode字符集中的字符串。該字符串允許象?H/PC?EXPLORER一樣的應(yīng)用程序來確定設(shè)備類型。
????SPI_GETWAKEUPDLETIMEOUT:在用戶通知重新激活某個(gè)掛起的設(shè)備之后,可獲取的Windows?CE延緩響應(yīng)的時(shí)間量。參數(shù)pvParam指向一個(gè)DWORD類型變量以返回時(shí)間值,單位為秒。如果pvParam值為0那么該標(biāo)志被忽略。
????SPI_GETWORKAREA:檢索工作區(qū)大小。工作區(qū)是指沒有被任務(wù)遮蓋的屏幕部分。
????SPI_SETBATTERYidletimeout:在Windows?CE沒有因用戶操作而掛起之前,電池電源能堅(jiān)持給系統(tǒng)供電的時(shí)間量可以使用該標(biāo)志來設(shè)置。只要鍵盤或觸摸屏處在活動(dòng)狀態(tài)(有輸入),那么Windows?CE操作系統(tǒng)及電池電源仍將工作。參數(shù)ulParam指定要設(shè)置的時(shí)間,單位為秒。如果ulParam設(shè)置為0,那么該標(biāo)志被忽略。
????SPI_SETEXTERNALIDLETIMEOUT:在Windows?CE沒有因用戶操作而掛起之前,交流電源能堅(jiān)持給系統(tǒng)供電的時(shí)間量可以使用該標(biāo)志來設(shè)置。只要鍵盤或觸摸屏幕處在活動(dòng)狀態(tài),那么Windows?CE操作系統(tǒng)及AC電源仍將工作。參數(shù)ulParam指定要設(shè)置的時(shí)間,單位為秒。如果ulParam設(shè)為0,那么該標(biāo)志被忽略。SPL_SETMOUSE:設(shè)置鼠標(biāo)的兩個(gè)閾值和速度。
????SPI_SETWAKEUPIDLETIMEOUT:在用戶通知重新激活某個(gè)掛起的設(shè)備之后,Windows?CE延緩響應(yīng)的時(shí)間長度量可使用該標(biāo)志來設(shè)置。參數(shù)ulParam指定這個(gè)時(shí)間量,單位為秒,如果ulParam設(shè)置為0,那么該標(biāo)志被忽略。
????SPI_SETWORKAREA設(shè)置工作區(qū)大小,工作區(qū)是指沒有被任務(wù)條遮蓋的屏幕部分。如果用來獲取平臺類型或OEM信息串的pvParam緩沖區(qū)太小,那么該函數(shù)會調(diào)用失敗,并出現(xiàn)錯(cuò)誤值ERROR_INSUFFICENT_BUFFER。Windows?CE只支持該函數(shù)的UNICODE版。Windows?CE不支持參數(shù)fWinlni的取值為SPIF_SENDWININICHANGE的情形。