• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            C++ Programmer's Cookbook

            {C++ 基礎(chǔ)} {C++ 高級} {C#界面,C++核心算法} {設(shè)計(jì)模式} {C#基礎(chǔ)}

            VC中動(dòng)態(tài)改變控件和對話框字體(大小)

            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的情形。

            posted on 2006-11-13 16:47 夢在天涯 閱讀(16996) 評論(3)  編輯 收藏 引用 所屬分類: MFC/QT

            評論

            # re: VC中動(dòng)態(tài)改變控件和對話框字體(大小) 2007-05-23 22:26 流傳風(fēng)

            第一個(gè)例子CtrlFont,會出現(xiàn)內(nèi)存泄漏!  回復(fù)  更多評論   

            # re: VC中動(dòng)態(tài)改變控件和對話框字體(大小)[未登錄] 2009-04-12 10:16 stone

            不錯(cuò)!!好!!!  回復(fù)  更多評論   

            # re: VC中動(dòng)態(tài)改變控件和對話框字體(大小) 2011-12-31 15:52 yayexing

            new出來的東西怎么不不釋放呢  回復(fù)  更多評論   

            公告

            EMail:itech001#126.com

            導(dǎo)航

            統(tǒng)計(jì)

            • 隨筆 - 461
            • 文章 - 4
            • 評論 - 746
            • 引用 - 0

            常用鏈接

            隨筆分類

            隨筆檔案

            收藏夾

            Blogs

            c#(csharp)

            C++(cpp)

            Enlish

            Forums(bbs)

            My self

            Often go

            Useful Webs

            Xml/Uml/html

            搜索

            •  

            積分與排名

            • 積分 - 1804303
            • 排名 - 5

            最新評論

            閱讀排行榜

            麻豆久久久9性大片| 亚洲综合精品香蕉久久网| 国产三级久久久精品麻豆三级| 亚洲国产成人久久精品99| 亚洲狠狠综合久久| 亚洲综合婷婷久久| 日本免费久久久久久久网站| 久久亚洲高清观看| 色综合久久久久网| 精品久久久久久无码中文野结衣 | 久久91精品国产91久久小草| 色欲久久久天天天综合网精品| 少妇精品久久久一区二区三区| 香蕉久久av一区二区三区| 99精品国产在热久久无毒不卡| 99re这里只有精品热久久| 国产三级观看久久| 亚洲午夜无码AV毛片久久| 尹人香蕉久久99天天拍| 人妻少妇久久中文字幕| 久久se精品一区二区| 99久久免费只有精品国产| 一本色综合久久| 日韩av无码久久精品免费| 日韩亚洲欧美久久久www综合网| 狠狠色丁香久久综合五月| 很黄很污的网站久久mimi色| 久久99九九国产免费看小说| 久久国产亚洲高清观看| 国产精品日韩深夜福利久久| 亚洲日韩欧美一区久久久久我| 亚洲精品无码成人片久久| 97久久超碰成人精品网站| 久久国产免费直播| 麻豆一区二区99久久久久| 国产 亚洲 欧美 另类 久久| 亚洲国产成人久久综合区| 99久久超碰中文字幕伊人| 久久影视国产亚洲| 狠狠色婷婷综合天天久久丁香| 欧美伊人久久大香线蕉综合69|