Win32API函數(shù)大全使用詳解_第1頁(yè)
Win32API函數(shù)大全使用詳解_第2頁(yè)
Win32API函數(shù)大全使用詳解_第3頁(yè)
Win32API函數(shù)大全使用詳解_第4頁(yè)
Win32API函數(shù)大全使用詳解_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、、窗口函數(shù)(Window)AdjustWindowRect函數(shù)功能:該函數(shù)依據(jù)所需客戶矩形的大小,計(jì)算需要的窗日矩形的大小。計(jì)算出的窗口矩形隨后可以傳遞給CreateWindow函數(shù),用于創(chuàng)建一個(gè)客戶區(qū)所需大小的窗口。函數(shù)原型:BOOLAdjustWindowRect(LPRECTlpRect,DWORDdwStyle,BOOLbMENU);參數(shù):lpRect:指向RECT結(jié)構(gòu)的指針,該結(jié)構(gòu)包含所需客戶區(qū)域的左上角和右下角的坐標(biāo)。函數(shù)返回時(shí),該結(jié)構(gòu)容納所需客戶區(qū)域的窗口的左上角和右下角的坐標(biāo)。dwStyle:指定將被計(jì)算尺寸的窗口的窗口風(fēng)格。bMenu:指示窗口是否有菜單。返回值:如果函數(shù)成功

2、,返回值為非零;如果函數(shù)失敗,返回值為零。獲取錯(cuò)誤信息,參看GetLastError。備注:客戶矩形是指完全包含一個(gè)客戶區(qū)域的最小矩形;窗日矩形是指完全包含一個(gè)窗口的最小矩形,該窗口包含客戶區(qū)與非客戶區(qū)。當(dāng)一個(gè)菜單條下拉出兩行或更多行時(shí),AdjustWindowRect函數(shù)不增加額外的空間。速查:WindowsNT:3.1以上版本:Windows:95以上版本:WindowsCE:不支持;頭文件:winuser.h;庫(kù)文件:user32.1ib。AdjustWindowRectEX函數(shù)功能:該函數(shù)依據(jù)所需客戶矩形大小,計(jì)算需要的窗口矩形的大小。計(jì)算出的窗口矩形隨后可以傳送給CreateWind

3、owEx函數(shù),用于創(chuàng)建一個(gè)客戶區(qū)所需大小的窗口。函數(shù)原型:BOOLAdjustWindowRectEX(LPRECTlpRect,DWORDdwStyte;BOOLbMenu;DWORDdwExStyle);參數(shù):lpRect:指向RECT結(jié)構(gòu)的指針,該結(jié)構(gòu)包含所需客戶區(qū)域的左上角和右下角的坐標(biāo)。函數(shù)返回時(shí),該結(jié)構(gòu)包含容納所需客戶區(qū)域的窗口的左上角和右下角的坐標(biāo)。dwStyle:指定將被計(jì)算尺寸的窗口的窗口風(fēng)格。bMenu:指示窗口是否有菜單。dwExStyle:指定將被計(jì)算尺寸的窗口的擴(kuò)展窗口風(fēng)格。返回值:如果函數(shù)成功,返回值為非零;如果函數(shù)失敗,返回值為零。若想獲得更多錯(cuò)誤信息,請(qǐng)調(diào)用Ge

4、tLastError函數(shù)。備注:客戶矩形是指完全包含一個(gè)客戶區(qū)域的最小矩形;窗口矩形是指完全包含一個(gè)窗口的最小矩形,該窗口包含客戶區(qū)與非客戶區(qū)。當(dāng)一個(gè)菜單條下拉出兩行或更多行時(shí),AdjustWindowRect函數(shù)不增加額外的空間。速查:WindowsNT:3.1以上版本;Windows:95以上版本;WindowsCE:1.0以上版本;頭文件:winuser.h;庫(kù)文件:user32.lib。AnimateWindow函數(shù)功能:該函數(shù)能在顯示與隱藏窗口時(shí)能產(chǎn)生特殊的效果。有兩種類(lèi)型的動(dòng)畫(huà)效果:滾動(dòng)動(dòng)畫(huà)和滑動(dòng)動(dòng)畫(huà)。函數(shù)原型:BOOLAnimateWindow(HWNDhWnd,DWORDdwT

5、ime,DWORDdwFlags);參數(shù):hWnd:指定產(chǎn)生動(dòng)畫(huà)的窗口的句柄。dwTime:指明動(dòng)畫(huà)持續(xù)的時(shí)間(以微秒計(jì)),完成一個(gè)動(dòng)畫(huà)的標(biāo)準(zhǔn)時(shí)間為200微秒。dwFags:指定動(dòng)畫(huà)類(lèi)型。這個(gè)參數(shù)可以是一個(gè)或多個(gè)下列標(biāo)志的組合。標(biāo)志描述:AW_SLIDE:使用滑動(dòng)類(lèi)型。缺省則為滾動(dòng)動(dòng)畫(huà)類(lèi)型。當(dāng)使用AW_CENTER標(biāo)志時(shí),這個(gè)標(biāo)志就被忽略。AW_ACTIVE:激活窗口。在使用了AW_HIDE標(biāo)志后不要使用這個(gè)標(biāo)志。AW_BLEND:使用淡出效果。只有當(dāng)hWnd為頂層窗口的時(shí)候才可以使用此標(biāo)志。AW_HIDE:隱藏窗口,缺省則顯示窗口。AW_CENTER:若使用了AW_HIDE標(biāo)志,則使窗口向內(nèi)

6、重疊;若未使用AW_HIDE標(biāo)志,則使窗口向外擴(kuò)展。AW_HOR_POSITIVE:自左向右顯示窗口。該標(biāo)志可以在滾動(dòng)動(dòng)畫(huà)和滑動(dòng)動(dòng)畫(huà)中使用。當(dāng)使用AW_CENTER標(biāo)志時(shí),該標(biāo)志將被忽略。AW_VER_POSITIVE:自頂向下顯示窗口。該標(biāo)志可以在滾動(dòng)動(dòng)畫(huà)和滑動(dòng)動(dòng)畫(huà)中使用。當(dāng)使用AW_CENTER標(biāo)志時(shí),該標(biāo)志將被忽略。AW_VER_NEGATIVE:自下向上顯示窗口。該標(biāo)志可以在滾動(dòng)動(dòng)畫(huà)和滑動(dòng)動(dòng)畫(huà)中使用。當(dāng)使用AW_CENTER標(biāo)志時(shí),該標(biāo)志將被忽略。返回值:如果函數(shù)成功,返回值為非零;如果函數(shù)失敗,返回值為零。在下列情況下函數(shù)將失敗:窗口使用了窗口邊界;窗口已經(jīng)可見(jiàn)仍要顯示窗口;窗口已經(jīng)

7、隱藏仍要隱藏窗口。若想獲得更多錯(cuò)誤信息,請(qǐng)調(diào)用GetLastError函數(shù)。備注:可以將AW_HOR_POSITIVE或AW_HOR_NEGTVE與AW_VER_POSITVE或AW_VER_NEGATIVE組合來(lái)激活一個(gè)窗口??赡苄枰谠摯翱诘拇翱谶^(guò)程和它的子窗口的窗口過(guò)程中處理WM_PRINT或WM_PRINTCLIENT消息。對(duì)話框,控制,及共用控制已處理WM_PRINTCLIENT消息,缺省窗口過(guò)程也已處理WM_PRINT消息。速查:WIDdOWSNT:5.0以上版本:Windows:98以上版本;WindowsCE:不支持;頭文件:Winuser.h;庫(kù)文件:user32.1ib。A

8、rrangelconicWindows函數(shù)功能:該函數(shù)安排指定父窗口的各個(gè)最小化(圖標(biāo)化)子窗口。函數(shù)原型:UNITArrangelconicWindows(HWNDhWnd):參數(shù):hWnd:父窗口句柄。返回值:如果函數(shù)成功,返回值為一行圖標(biāo)的高度。如果函數(shù)失敗,返回值為零。若想獲得更多錯(cuò)誤信息,請(qǐng)調(diào)用callGetLastError函數(shù)。備注:一個(gè)應(yīng)用程序可以通過(guò)使用ArrangelconicWindows安排在一個(gè)父窗口衛(wèi)的它自身的最小化的子窗口。這個(gè)函數(shù)也可以安排桌面圖標(biāo)。使用GetDesttopWindow函數(shù)獲得桌面窗口的句柄。一個(gè)應(yīng)用程序給多文本接口(MDI)客戶窗口發(fā)送WM_M

9、DIICONARRANGE消息,使客戶窗口來(lái)安排自身的最小化MDI子窗口。速查:WindowsNT:3.1以上版本;Windows:95以上版本;WindowsCE:不支持;頭文件:winuser.h;庫(kù)文件:user32.1ib。BeginDeferWindowPos函數(shù)功能:該函數(shù)為一個(gè)多窗口位置結(jié)構(gòu)分配內(nèi)存并且返回該結(jié)構(gòu)的句柄。函數(shù)原型:HDWPBeginDeferWindowPos(intnNumWindows);參數(shù):nNumWindows:指示存儲(chǔ)位置信息的初始窗口數(shù)目。如有必要,DeferWindowPos函數(shù)可以增加該結(jié)構(gòu)的大小。返回值:如果函數(shù)成功,返回多窗口位置結(jié)構(gòu)。如果分

10、配內(nèi)存時(shí)內(nèi)存不足,則返回值為NULL。若想獲得更多的錯(cuò)誤信息,請(qǐng)調(diào)用GetLastError函數(shù)。備注:多窗口位置結(jié)構(gòu)是一個(gè)內(nèi)部結(jié)構(gòu),應(yīng)用程序不能直接引用。DeferWindowPos函數(shù)在多窗口位置結(jié)構(gòu)中填充了將被移動(dòng)的一個(gè)或多個(gè)窗口的目標(biāo)位置信息。EndDeferWindowPos接收該結(jié)構(gòu)的句柄,并且依據(jù)存儲(chǔ)在該結(jié)構(gòu)中的信息重定位這些窗口。如果在多窗口位置結(jié)構(gòu)中的任意一個(gè)窗口中設(shè)置了SWP_HIDEWINDOW和SWP_SHOWWINDOW標(biāo)志,則所有窗口都不能被重定位。如果系統(tǒng)必須增加在多窗口位置結(jié)構(gòu)中由nNumWindows設(shè)置的初始窗口數(shù)目,但又沒(méi)有足夠的內(nèi)存分配,則系統(tǒng)的整個(gè)窗口

11、重定位順序失敗(BeginDeferWindowsPos,DeferWindowsPos,EndDeferWindowPos)。應(yīng)用程序通過(guò)指定所需最大數(shù)目,可以在執(zhí)行過(guò)程中進(jìn)行早期的檢測(cè)和處理。速查:WindowsNT:3.1以上版本;Windows:95以上版本;WindowsCE:不支持:頭文件:winuser.h;庫(kù)文件:user32.1ib。BringWindowToTop函數(shù)功能:該函數(shù)將指定的窗口設(shè)置到Z序的頂部。如果窗口為頂層窗口,則該窗口被激活;如果窗口為了窗口,則相應(yīng)的頂級(jí)父窗口被激活。函數(shù)原型:B00LBringWindowToTop(HWND,hWnd);、參數(shù):hWn

12、d:設(shè)置到Z序的頂部的窗口句柄。返回值:如果函數(shù)成功,返回值為非零;如果函數(shù)失敗,返回值為零。若想獲得更多錯(cuò)誤信息,請(qǐng)調(diào)用GetLastError函數(shù)。備注:使用BringWindowToTop函數(shù)顯示出被其他窗口部分或全部遮蓋的窗口。調(diào)用這個(gè)函數(shù)類(lèi)似于調(diào)用SetWindowPos函數(shù)來(lái)改變窗口在Z序中的位置,但是BringWindowToTop函數(shù)并不能使一個(gè)窗口成為頂層窗口。如果應(yīng)用程序不在前臺(tái)中而想設(shè)置在前臺(tái)中,可以調(diào)用SetForegroundWindow函數(shù)。速查:WindowsNT:3.1以上版本;Windows:95以上版本;WindowsCE:1.0以上版本;頭文件:winus

13、er.h;庫(kù)文件:user32.1id。WINAPICascadeWihdows函數(shù)功能:該函數(shù)層疊排列指定父窗口的各指定子窗口。函數(shù)原型:WORDWINAPICascadeWihdows(HWNDhWndParent,UNITwHow,CONSTRECT*lpRect,UNITcKids,ConstHWNDFA*lpKids);參數(shù):Parent:父窗口的句柄。如果參數(shù)為NVLL,則假定為桌面窗口。wHow:指定層疊標(biāo)志。唯一可用的標(biāo)志為MDITILE_SKIPDISABLED,防止被禁止的MDI子窗口被層疊排列。lpBect:指向RECT結(jié)構(gòu)的指針,該結(jié)構(gòu)以客戶坐標(biāo)定義矩形區(qū)域,并在這個(gè)區(qū)

14、域中排列窗口、該參數(shù)可以為NULL,這種情況下使用父窗口的客戶區(qū)域。cKids:指明由lpKids參數(shù)指定的數(shù)組的成員個(gè)數(shù)。如果IpKidS參數(shù)為NULL,則此參數(shù)將被忽略。lpKids:指向?qū)⒈慌帕械淖哟翱诘木浔鷶?shù)組的指針。如果此參數(shù)為空,則指定的父窗口(或桌面窗口)的所有子窗口都將被排列。返回值:如果函數(shù)成功,返回值為被排列的窗口數(shù)目;如果函數(shù)失敗,返回值為零。若想獲得更多錯(cuò)誤信息,請(qǐng)調(diào)用GetLastError函數(shù)。備注:調(diào)用CascadeWindows函數(shù)使所有最大化窗口恢復(fù)到它們?cè)瓉?lái)的大小。速查:WindowsNT:4.0以上版本;Windows:95以上版本;WindowsCE:不

15、支持;頭文件:winuser.h;庫(kù)文件:User32.1ChildWindowFromaPoint函數(shù)功能:該函數(shù)確定屬于某一父窗口的哪一個(gè)子窗口(如果存在的話)包含一個(gè)指定的點(diǎn)。函數(shù)原型:HWNDChildWindowFromaPoint(HWNDhWndParent.POINTPoint):Parent:父窗口句柄。Point:指定一個(gè)POINT結(jié)構(gòu),該結(jié)構(gòu)給定了被檢查的點(diǎn)的坐標(biāo)。返回值:返回值為包含該點(diǎn)的子窗口的句柄,即使該子窗口是隱藏的或被禁止的。如果該點(diǎn)在父窗口之外,則返回值為NULL。如果該點(diǎn)在父窗口內(nèi),但在任一子窗口外,則返回值為父窗口句柄。備注:系統(tǒng)有一個(gè)與某一父窗口有聯(lián)系的

16、所有子窗口的內(nèi)部列表。列表中的句柄順序依據(jù)這些子窗口的z序。如果有多于一個(gè)的子窗口包含該點(diǎn),那么系統(tǒng)返回在列表中包含該點(diǎn)的第一個(gè)窗口的句柄。速查:WindowsNT:3.1以上版本:Windows:95以上版本;WindowsCE;1.0以上版本;頭文件:winuser.h;庫(kù)文件:user32.1ib。ChidWindowFromaPointEx函數(shù)功能:該函數(shù)確定屬于父窗口的哪一個(gè)子窗口(如果存在的話)包含著指定的點(diǎn)。該函數(shù)可以忽略不可見(jiàn)的、禁止的和透明的子窗口。函數(shù)原型:HWNDChidWindowFromaPointEx(HWNDhwndParent,POINTpt,UNITuFlag

17、s);參數(shù):hWndParent:父窗口句柄。pt:指定一個(gè)POINT結(jié)構(gòu),該結(jié)構(gòu)定義了被檢查的點(diǎn)的坐標(biāo)。uFlags:指明忽略的子窗口的類(lèi)型。該參數(shù)可以是下列參數(shù)的組合。CWP_ALL:不忽略任一子窗口。CWP_SKIPINVISIBLE:忽略不可見(jiàn)的子窗口。CWP_SKIPDISABLE:忽略禁止的子窗口。CWP_SKIPTRABSPARENT:忽略透明子窗口。返回值:返回值為包含該點(diǎn)并且滿足由uFlags定義的規(guī)則的第一個(gè)子窗口的句柄。如果該點(diǎn)在父窗口內(nèi),但在任一滿足條件的子窗口外,則返回值為父窗口句柄。如果該點(diǎn)在父窗口之外或函數(shù)失敗,則返回值為NULL。備注:系統(tǒng)有一個(gè)與某一父窗口有聯(lián)

18、系的所有子窗口的內(nèi)部列表。列表中的句柄順序依據(jù)這些子窗口的Z序。如果有多于一個(gè)的子窗口包含該點(diǎn),那么系統(tǒng)返回在列表中包含該點(diǎn)并且滿足由uFlags定義的規(guī)則的第一個(gè)窗口的句柄。速查:WindowSNT:4.0以上版本;Windows:95以上版本;WindowsCE:不支持;頭文件:Winuser.h;庫(kù)文件:user32.1ib。CloseWindow函數(shù)功能:該函數(shù)最小化指定的窗口,但并不銷(xiāo)毀該窗口。函數(shù)原型:BOOLCloseWindow(HWNDhWnd);參數(shù):hWnd:將要最小化的窗口的句柄。返回值:如果函數(shù)成功,返回值為非零;如果函數(shù)失敗,返回值為零。若想獲得更多錯(cuò)誤信息,請(qǐng)調(diào)用

19、GetLastError函數(shù)。備注:窗口尺寸被最小化成一個(gè)圖標(biāo),并移動(dòng)到屏幕的圖標(biāo)區(qū)域。系統(tǒng)顯示窗口的圖標(biāo)而不顯示窗口,并在圖標(biāo)下顯示窗口標(biāo)題。應(yīng)用程序必須使用DestroyWindow函數(shù)銷(xiāo)毀窗口。速查:WindowSNT:3.1以上版本;Windows:95以上版本;WindowsCE:不支持;頭文件:Winuser.h;庫(kù)文件:user32.libCreateWindow函數(shù)功能:該函數(shù)創(chuàng)建一個(gè)重疊式窗口、彈出式窗口或子窗口。它指定窗口類(lèi),窗口標(biāo)題,窗口風(fēng)格,以及窗口的初始位置及大小(可選的)。該函數(shù)也指定該窗口的父窗口或所屬窗口(如果存在的話),及窗口的菜單。若要使用除CreateWi

20、ndow函數(shù)支持的風(fēng)格外的擴(kuò)展風(fēng)格,則使用CreateWindowEx函數(shù)代替CreateWindow函數(shù)。函數(shù)原型:HWNDCreateWindow(LPCTSTRlpClassName,LPCTSTRlpWindowName,DWORDdwStyle,intx,inty,intnWidth,intnHeight,HWNDhWndParent,HMENUhMenu,HANDLEhlnstance,LPVOIDlpParam);參數(shù):IpCIassName:指向一個(gè)空結(jié)束的字符串或整型數(shù)atom。如果該參數(shù)是一個(gè)整型量,它是由此前調(diào)用theGlobalAddAtom函數(shù)產(chǎn)生的全局量。這個(gè)小于O

21、xCOOO的16位數(shù)必須是lpClassName參數(shù)字的低16位,該參數(shù)的高位必須是0。如果lpClassName是一個(gè)字符串,它指定了窗口的類(lèi)名。這個(gè)類(lèi)名可以是任何用函數(shù)RegisterClassEx注冊(cè)的類(lèi)名,或是任何預(yù)定義的控制類(lèi)名。請(qǐng)看說(shuō)明部分的列表。LPWindowName:指向一個(gè)指定窗口名的空結(jié)束的字符串指針。如果窗口風(fēng)格指定了標(biāo)題條,由lpWindowName指向的窗口標(biāo)題將顯示在標(biāo)題條上。當(dāng)使用Createwindow函數(shù)來(lái)創(chuàng)建控制例如按鈕,選擇框和靜態(tài)控制時(shí),可使用lpWindowName來(lái)指定控制文本。dwStyle:指定創(chuàng)建窗口的風(fēng)格。該參數(shù)可以是下列窗口風(fēng)格的組合再加

22、上說(shuō)明部分的控制風(fēng)格。風(fēng)格意義:WS_BORDER:創(chuàng)建一個(gè)單邊框的窗口。WS_CAPTION:創(chuàng)建一個(gè)有標(biāo)題框的窗口(包括WS_BODER風(fēng)格)。WS_CHIlD:創(chuàng)建一個(gè)子窗口。這個(gè)風(fēng)格不能與WS_POPVP風(fēng)格合用。WS_CHLDWINDOW:與WS_CHILD相同。WS_CLIPCHILDREN:當(dāng)在父窗口內(nèi)繪圖時(shí),排除子窗口區(qū)域。在創(chuàng)建父窗口時(shí)使用這個(gè)風(fēng)格。WS_CLlPBLINGS;排除子窗口之間的相對(duì)區(qū)域,也就是,當(dāng)一個(gè)特定的窗口接收到WM_PAINT消息時(shí),WS_CLIPSIBLINGS風(fēng)格將所有層疊窗口排除在繪圖之外,只重繪指定的子窗口。如果未指定WS_CLIPSIBLING

23、S風(fēng)格,并且子窗口是層疊的,則在重繪子窗口的客戶區(qū)時(shí),就會(huì)重繪鄰近的子窗口。WS_DISABLED:創(chuàng)建一個(gè)初始狀態(tài)為禁止的子窗口。一個(gè)禁止?fàn)顟B(tài)的窗日不能接受來(lái)自用戶的輸人信息。WS_DLGFRAME:創(chuàng)建一個(gè)帶對(duì)話框邊框風(fēng)格的窗口。這種風(fēng)格的窗口不能帶標(biāo)題條。WS_GROUP:指定一組控制的第一個(gè)控制。這個(gè)控制組由第一個(gè)控制和隨后定義的控制組成,自第二個(gè)控制開(kāi)始每個(gè)控制,具有WS_GROUP風(fēng)格,每個(gè)組的第一個(gè)控制帶有WS_TABSTOP風(fēng)格,從而使用戶可以在組間移動(dòng)。用戶隨后可以使用光標(biāo)在組內(nèi)的控制間改變鍵盤(pán)焦點(diǎn)。WS_HSCROLL:創(chuàng)建一個(gè)有水平滾動(dòng)條的窗口。WS_IC0NIC:創(chuàng)建一

24、個(gè)初始狀態(tài)為最小化狀態(tài)的窗口。與WS_MINIMIZE風(fēng)格相同。WS_MAXIMIZE:創(chuàng)建一個(gè)具有最大化按鈕的窗口。該風(fēng)格不能與WS_EX_CONTEXTHELP風(fēng)格同時(shí)出現(xiàn),同時(shí)必須指定WS_SYSMENU風(fēng)格。WS_0VERLAPPED:產(chǎn)生一個(gè)層疊的窗口。一個(gè)層疊的窗口有一個(gè)標(biāo)題條和一個(gè)邊框。與WS_TILED風(fēng)格相同。WS_OVERtAPPEDWINDOW:創(chuàng)建一個(gè)具有WS_OVERLAPPED,WS_CAPTION,WS_SYSMENUWS_THICKFRAME,WS_MINIMIZEBOX,WS_MAXMIZEBOX風(fēng)格的層疊窗口,與WS_TILEDWINDOW風(fēng)格相同。WS_P

25、OPUP;創(chuàng)建一個(gè)彈出式窗口。該風(fēng)格不能與WS_CHLD風(fēng)格同時(shí)使用。WS_POPUWINDOW:創(chuàng)建一個(gè)具有WS_BORDER,WS_POPUP,WS_SYSMENU風(fēng)格的窗口,WS_CAPTION和WS_POPUPWINDOW必須同時(shí)設(shè)定才能使窗口某單可見(jiàn)。WS_SIZEB0X:創(chuàng)建一個(gè)可調(diào)邊框的窗口,與WS_THICKFRAME風(fēng)格相同。WS_SYSMENU:創(chuàng)建一個(gè)在標(biāo)題條上帶有窗口菜單的窗口,必須同時(shí)設(shè)定WS_CAPTION風(fēng)格。WS_TABSTOP:創(chuàng)建一個(gè)控制,這個(gè)控制在用戶按下Tab鍵時(shí)可以獲得鍵盤(pán)焦點(diǎn)。按下Tab鍵后使鍵盤(pán)焦點(diǎn)轉(zhuǎn)移到下一具有WS_TABSTOP風(fēng)格的控制。WS

26、_THICKFRAME:創(chuàng)建一個(gè)具有可調(diào)邊框的窗口,與WS_SIZEBOX風(fēng)格相同。WS_TILED:產(chǎn)生一個(gè)層疊的窗口。一個(gè)層疊的窗口有一個(gè)標(biāo)題和一個(gè)邊框。與WS_OVERLAPPED風(fēng)格相同。WS_TILEDWINDOW:創(chuàng)建一個(gè)具有WS_OVERLAPPED,WS_CAPTION,WS_SYSMENUMS_THICKFRAMEWS_MINIMIZEBOX,WS_MAXMIZEBOX風(fēng)格的層疊窗口。與WS_0VERLAPPEDWIND0W風(fēng)格相同。WS_VISIBLE:創(chuàng)建一個(gè)初始狀態(tài)為可見(jiàn)的窗口。WS_VSCR0LL:創(chuàng)建一個(gè)有垂直滾動(dòng)條的窗口。X:指定窗口的初始水平位置。對(duì)一個(gè)層疊或彈

27、出式窗口,X參數(shù)是屏幕坐標(biāo)系的窗口的左上角的初始X坐標(biāo)。對(duì)于子富口,x是子窗口左上角相對(duì)父窗口客戶區(qū)左上角的初始X坐標(biāo)。如果該參數(shù)被設(shè)為CW_UCEDEFAULT則系統(tǒng)為窗口選擇缺省的左上角坐標(biāo)并忽略Y參數(shù)。CW_USEDEFAULT只對(duì)層疊窗口有效,如果為彈出式窗口或子窗口設(shè)定,則X和y參數(shù)被設(shè)為零。Y:指定窗口的初始垂直位置。對(duì)一個(gè)層疊或彈出式窗日,y參數(shù)是屏幕坐標(biāo)系的窗口的左上角的初始y坐標(biāo)。對(duì)于子窗口,y是子窗口左上角相對(duì)父窗口客戶區(qū)左上角的初始y坐標(biāo)。對(duì)于列表框,y是列表框客戶區(qū)左上角相對(duì)父窗口客戶區(qū)左上角的初始y坐標(biāo)。如果層疊窗口是使用WS_VISIBLE風(fēng)格位創(chuàng)建的并且X參數(shù)被設(shè)

28、為CW_USEDEFAULT,則系統(tǒng)將忽略y參數(shù)。nWidth:以設(shè)備單元指明窗口的寬度。對(duì)于層疊窗口,nWidth或是屏幕坐標(biāo)的窗口寬度或是CW_USEDEFAULT。若nWidth是CW_USEDEFAULT,則系統(tǒng)為窗口選擇一個(gè)缺省的高度和寬度:缺省寬度為從初始X坐標(biāo)開(kāi)始到屏幕的右邊界,缺省高度為從初始X坐標(biāo)開(kāi)始到目標(biāo)區(qū)域的頂部。CW_USEDFEAULT只參層疊窗口有效;如果為彈出式窗口和子窗口設(shè)定CW_USEDEFAULT標(biāo)志則nWidth和nHeight被設(shè)為零。nHelght:以設(shè)備單元指明窗口的高度。對(duì)于層疊窗口,nHeight是屏幕坐標(biāo)的窗口寬度。若nWidth被設(shè)為CW_U

29、SEDEFAULT,則系統(tǒng)忽略nHeight參數(shù)。hWndParent:指向被創(chuàng)建窗口的父窗口或所有者窗口的旬柄。若要?jiǎng)?chuàng)建一個(gè)子窗口或一個(gè)被屬窗口,需提供一個(gè)有效的窗口句柄。這個(gè)參數(shù)對(duì)彈出式窗日是可選的。WindowsNT5.0;創(chuàng)建一個(gè)消息窗口,可以提供HWND_MESSAGE或提供一個(gè)己存在的消息窗口的句柄。hMenu:菜單句柄,或依據(jù)窗口風(fēng)格指明一個(gè)子窗口標(biāo)識(shí)。對(duì)于層疊或彈出式窗口,hMenu指定窗口使用的菜單:如果使用了菜單類(lèi),則hMenu可以為NULL。對(duì)于子窗口,hMenu指定了該子窗口標(biāo)識(shí)(一個(gè)整型量),一個(gè)對(duì)話框使用這個(gè)整型值將事件通知父類(lèi)。應(yīng)用程序確定子窗口標(biāo)識(shí),這個(gè)值對(duì)于相

30、同父窗口的所有子窗口必須是唯一的。hlnstance:與窗口相關(guān)聯(lián)的模塊事例的句柄。lpParam:指向一個(gè)值的指針,該值傳遞給窗口WM_CREATE消息。該值通過(guò)在IParam參數(shù)中的CREATESTRUCT結(jié)構(gòu)傳遞。如果應(yīng)用程序調(diào)用CreateWindow創(chuàng)建一個(gè)MDI客戶窗口,則lpParam必須指向一個(gè)CLIENTCREATESTRUCT結(jié)構(gòu)。返回值:如果函數(shù)成功,返回值為新窗口的句柄:如果函數(shù)失敗,返回值為NULL。若想獲得更多錯(cuò)誤信息,請(qǐng)調(diào)用GetLastError函數(shù)。備注:在返回前,CreateWindow給窗口過(guò)程發(fā)送一個(gè)WM_CREATE消息。對(duì)于層疊,彈出式和子窗口,Cr

31、eateWindow給窗口發(fā)送WM_CREATE,WM_GETMINMAXINFO和WM_NCCREATE消息。消息WM_CREATE的IParam參數(shù)包含一個(gè)指向CREATESTRUCT結(jié)構(gòu)的指針。如果指定了WS_VISIBLE風(fēng)格,CreateWindow向窗口發(fā)送所有需要激活和顯示窗口的消息。獲取有關(guān)任務(wù)條是否為創(chuàng)建的窗口顯示一個(gè)按鈕的控制信息,參看Taskbar按鈕的Visbility。以下預(yù)定義的控制類(lèi)可以在lpClassName參數(shù)中指定。注意在dwStyle參數(shù)中可以使用的相應(yīng)的控制風(fēng)格。BUTTON按鈕按鈕是一個(gè)小矩形子窗口,用戶可以點(diǎn)擊來(lái)打開(kāi)或關(guān)閉。按鈕控制可以單獨(dú)使用或包含

32、在組中使用,可以為控制寫(xiě)標(biāo)簽或不寫(xiě)標(biāo)簽。當(dāng)用戶點(diǎn)擊按鈕控制時(shí)按鈕的外觀有明顯的改變。請(qǐng)參看Buttono查看dwStyle參數(shù)中指定的按鈕風(fēng)格表請(qǐng)參考ButtonStyleoCOMBOBOX組合框由一個(gè)列表框和一個(gè)類(lèi)似于編輯控制的選擇域組成。在使用這個(gè)風(fēng)格控制時(shí),應(yīng)用程序或者使列表框一直顯示或者是作成一個(gè)下拉列表。如果列表框可見(jiàn),則在編輯域中輸入字符將使列表框中與字符一致的第一個(gè)域高亮。反之,在列表框中選擇的項(xiàng)將顯示在編輯域中。請(qǐng)參看ComboBoxeso查看dwStyle參數(shù)中指定的組合框風(fēng)格表請(qǐng)參考ComboBoxesStyleoEDIT編輯框一個(gè)小的矩形子窗口用戶可以使用鍵盤(pán)向其中輸入文

33、本。用戶可以通過(guò)點(diǎn)擊或按Tab鍵來(lái)選中編輯框控制并且使控制獲得焦點(diǎn)。當(dāng)編輯框中顯示一個(gè)閃爍的插入記號(hào)時(shí),用戶可以輸入文本。使用鼠標(biāo)移動(dòng)光標(biāo),選擇被替換的字符或設(shè)置插入字符的位置或使用回退鍵刪除字符。請(qǐng)參看Editocontrolso查看dwStyle參數(shù)中指定的編輯框風(fēng)格的表格請(qǐng)參考EditControlStyleoLISTBOX列表框字符串的列表。當(dāng)應(yīng)用程序必須顯示名稱(chēng)的列表,例如文件名列表等,使用戶可以從中選擇時(shí)就可指定列表框。用戶可以通過(guò)單擊來(lái)選擇名稱(chēng)。選擇時(shí),被選擇名高亮,同時(shí)傳遞給父窗口一個(gè)通知消息。請(qǐng)參看LiStBoxStyle。查看dwStyle參數(shù)中指定的列表風(fēng)格表請(qǐng)參考Lis

34、tBOXControlStyleoMDICLIENTMDI客戶設(shè)計(jì)出MDI客戶窗口。窗口接收控制MDI應(yīng)用程序子窗口的消息。建議使用兩種控制風(fēng)格位:WS_CLIPCHILDREN和WS_CHILD。指定了WS_HSCROLL和WS_VSCROLL風(fēng)格的MDI客戶窗口允許用戶將MDI子窗口滑動(dòng)進(jìn)入視窗。請(qǐng)參看MDI。RiChEdit設(shè)計(jì)一個(gè)RichEditl.0版的控制。該控制使用戶可以以字符和段落格式測(cè)覽和編輯文本,并且可以包含嵌入的COM對(duì)象。請(qǐng)參看RichEditControlso查看dwStyle參數(shù)中指定的RichEdit風(fēng)格表請(qǐng)參考LiStBoxControlStyle。RICHED

35、ITCLASS設(shè)計(jì)一個(gè)RichEdik2.0版的控制。該控制使用戶可以以字符和段落格式測(cè)覽和編輯文本,并且可以包含嵌入的COM對(duì)象。請(qǐng)參看RichEditControls。查看dwStyle參數(shù)中指定的RichEdit風(fēng)格表請(qǐng)參考RichEditControIStyle。SCROLLBAR滾動(dòng)條設(shè)計(jì)的一個(gè)包含著一個(gè)滾動(dòng)盒和兩端有方向箭頭的矩形。只要用戶點(diǎn)擊了控制,滾動(dòng)條就給父窗口發(fā)送一個(gè)通知消息。如有必要,父窗口負(fù)責(zé)更新滾動(dòng)條的位置。請(qǐng)參看ScrollBars。查看dwStyle參數(shù)中指定的滾動(dòng)條風(fēng)格表請(qǐng)參考ScrollBarsStyle。STATIC一個(gè)簡(jiǎn)單的靜態(tài)文本域,文本盒或矩形用于給控

36、制加標(biāo)簽,組合控制或?qū)⒖刂婆c其他控制分開(kāi)。靜態(tài)控制不提供輸入和也不提供輸出。請(qǐng)參看StaticControlStyleso查看dwStyle參數(shù)中指定的靜態(tài)文本風(fēng)格表請(qǐng)參考ScrollBarsStyle。Windows95:系統(tǒng)可以支持最大16,364個(gè)窗口句柄。備注:如果在鏈接應(yīng)用程序時(shí)指明是Windows4.x版本,除非應(yīng)用程序的窗口有窗口某單,否則窗口控制沒(méi)有標(biāo)題控制。對(duì)Windows3.x版本沒(méi)有這種要求。WindowsCE:CreateWindow是以“宏”方式完成的。它被定義為CreateWindowEX,并且dwExStyle參數(shù)被置為長(zhǎng)整數(shù)0。不支持菜單條控制,除非被聲明為子窗

37、口標(biāo)志否則hMenu參數(shù)必須為NULL。不支持MDICLIENT窗口類(lèi)dwStyle參數(shù)可以是對(duì)話框(DialogueBox),窗口(Windows),控制(Controls)文件中的窗口風(fēng)格和控制風(fēng)格的組合。下列dwStyle標(biāo)志在窗口中不支持:WS_CHILDWINDOWWS_ICONC;WS_MAXMIZEWS_MAXIMIZEBOX;WS_MINIMIZEWS_MINIMIZEBOX;WS_OVERLAPPEDWINDOWWS_POPUPWINDOW;WS_SIZEBOXWS_THICKFRAMEWS_TILEDWS_TILEDWINDOW下列dwStyle標(biāo)志在控制和對(duì)話框中不支持:

38、不支持的按鈕風(fēng)格和靜態(tài)控制風(fēng)格:BS_LEFTTEXTSS_BLACKFRAME;BS_MULTILINESS_GRAYFRAMEBS_TEXTSS_METAPICT;BS_USERBUTTONSS_SIMPLE不支持組合框SS_WHITERECT風(fēng)格。CBS_OWNERDRAWFIXEDSS_BLACKRECT;CBS_OWNWEDRAWVARIABLESS_GRAYRECT;CBS_SIMPLE8R舊HTrIMAGE不支持列表框控制SS_WHITEFRAME風(fēng)格。LBS_NODATA不支持的對(duì)話框風(fēng)格:LBS_OWNERDRAWFIXEDDS_ABSALIGN;LBS_OWNERDRAWV

39、ARIABLEDS_CENTERMOUSE;LBS_STANDARDDS_CONTEXTHELP不支持滾動(dòng)條的DS_FIXEDSYS風(fēng)格SBS_BOTTOMALIGNDS_NOFAILCREATE;SBS_RIGHTALIGNDS_NOIDLEMSG;SBS_SlZEBOXBOTT0MRIHTALIGNDS_SYSMODAL;SBS_SIZEGRIP可使用BS_OWNERDRAW風(fēng)格來(lái)代替BS_USERBUTTON風(fēng)格??墒褂肧S_LEFT或SS_LEFTNOWORDWRAP風(fēng)格來(lái)代替靜態(tài)控制的SS_SIMPLE風(fēng)格。不支持MDICLIENT窗口類(lèi)。所有窗口都隱含WS_CLIPSIBLINGS

40、和WS_CLIPCHILDREN風(fēng)格。WindowsCE1.0版除對(duì)話框外不支持被屬窗口。如果hwndParent參數(shù)不為NULL,則窗口隱含給出WS_CHILD風(fēng)格。WindowsCE1.0不支持菜單條。速查:WindowsNT:3.1以上版本;Windows:95以上版本;WindowsCE:1.0以上版本;頭文件:winuser.h;庫(kù)文件:user32.1ib;Unicode:在WindowsNT上實(shí)現(xiàn)為Unicode和ANSI兩種版本。CreateWindowEx函數(shù)功能:該函數(shù)創(chuàng)建一個(gè)具有擴(kuò)展風(fēng)格的重疊式窗口、彈出式窗口或子窗口,其他與CreateWindow函數(shù)相同。關(guān)于創(chuàng)建窗口

41、和其他參數(shù)的內(nèi)容,請(qǐng)參看CreateWindowEx。函數(shù)原型:HWNDCreateWindowEx(DWORDdwExStle,LPCTSTRIpClassName,LPCTSTRlpWindowName,DWORDdwStyle,intx,inty,intnWidth,intnHeight,HWNDhWndParent,HMENUhMenu,HANDLEhlnstance,LPVOIDlpParam);參數(shù):dwExStyle:指定窗口的擴(kuò)展風(fēng)格。該參數(shù)可以是下列值:WS_EX_ACCEPTFILES:指定以該風(fēng)格創(chuàng)建的窗口接受一個(gè)拖拽文件。WS_EX_APPWINDOW:當(dāng)窗口可見(jiàn)時(shí),將

42、一個(gè)頂層窗口放置到任務(wù)條上。WS_EX_CLIENTEDGE:指定窗口有一個(gè)帶陰影的邊界。WS_EX_CONTEXTHELP:在窗口的標(biāo)題條包含一個(gè)問(wèn)號(hào)標(biāo)志。當(dāng)用戶點(diǎn)擊了問(wèn)號(hào)時(shí),鼠標(biāo)光標(biāo)變?yōu)橐粋€(gè)問(wèn)號(hào)的指針、如果點(diǎn)擊了一個(gè)子窗口,則子窗日接收到WM_HELP消息。子窗口應(yīng)該將這個(gè)消息傳遞給父窗口過(guò)程,父窗口再通過(guò)HELP_WM_HELP命令調(diào)用WinHelp函數(shù)。這個(gè)Help應(yīng)用程序顯示一個(gè)包含子窗口幫助信息的彈出式窗口。WS_EX_CONTEXTHELP不能與WS_MAXIMIZEBOX和WS_MINIMIZEBOX同時(shí)使用。WS_EX_C0NTR0LPARENT:允許用戶使用Tab鍵在窗口的

43、子窗口間搜索。WS_EX_DLGMODALFRAME:創(chuàng)建一個(gè)帶雙邊的窗口;該窗口可以在dwStyle中指定WS_CAPTION風(fēng)格來(lái)創(chuàng)建一個(gè)標(biāo)題欄。WS_EX_LEFT:窗口具有左對(duì)齊屬性,這是缺省設(shè)置的。WS_EX_LEFTSCROLLBAR:如果外殼語(yǔ)言是如Hebrew,Arabic,或其他支持readingorderalignment的語(yǔ)言,則標(biāo)題條(如果存在)則在客戶區(qū)的左部分。若是其他語(yǔ)言,在該風(fēng)格被忽略并且不作為錯(cuò)誤處理。WS_EX_LTRREADING:窗口文本以LEFT到RIGHT(自左向右)屬性的順序顯示。這是缺省設(shè)置的。WS_EX_MDICHILD:創(chuàng)建一個(gè)MD子窗口。W

44、S_EX_NOPATARENTNOTIFY:指明以這個(gè)風(fēng)格創(chuàng)建的窗口在被創(chuàng)建和銷(xiāo)毀時(shí)不向父窗口發(fā)送WM_PARENTNOTFY消息。WS_EX_OVERLAPPED:WS_EX_CLIENTEDGE和WS_EX_WINDOWEDGE的組合。WS_EX_PALETTEWINDOW:WS_EX_WINDOWEDGE,WS_EX_TOOLWINDOW和WS_WX_TOPMOST風(fēng)格的組合WS_EX_RIGHT:窗口具有普通的右對(duì)齊屬性,這依賴于窗口類(lèi)。只有在外殼語(yǔ)言是如Hebrew,Arabic或其他支持讀順序?qū)R(readingorderalignment)的語(yǔ)言時(shí)該風(fēng)格才有效,否則,忽略該標(biāo)志并

45、且不作為錯(cuò)誤處理。WS_EX_RIGHTSCROLLBAR:垂直滾動(dòng)條在窗口的右邊界。這是缺省設(shè)置的。WS_EX_RTLREADING:如果外殼語(yǔ)言是如Hebrew,Arabic,或其他支持讀順序?qū)R(readingorderalignment)的語(yǔ)言,則窗口文本是一自左向右)RIGHT到LEFT順序的讀出順序。若是其他語(yǔ)言,在該風(fēng)格被忽略并且不作為錯(cuò)誤處理。WS_EX_STATICEDGE:為不接受用戶輸入的項(xiàng)創(chuàng)建一個(gè)3一維邊界風(fēng)格WS_EX_TOOLWIDOW:創(chuàng)建工具窗口,即窗口是一個(gè)游動(dòng)的工具條。工具窗口的標(biāo)題條比一般窗口的標(biāo)題條短,并且窗口標(biāo)題以小字體顯示。工具窗口不在任務(wù)欄里顯示,

46、當(dāng)用戶按下alt+Tab鍵時(shí)工具窗口不在對(duì)話框里顯示。如果工具窗口有一個(gè)系統(tǒng)菜單,它的圖標(biāo)也不會(huì)顯示在標(biāo)題欄里,但是,可以通過(guò)點(diǎn)擊鼠標(biāo)右鍵或AltSpace來(lái)顯示菜單。WS_EX_TOPMOST:指明以該風(fēng)格創(chuàng)建的窗口應(yīng)放置在所有非最高層窗口的上面并且停留在其L,即使窗口未被激活。使用函數(shù)SetWindowPos來(lái)設(shè)置和移去這個(gè)風(fēng)格。WS_EX_TRANSPARENT:指定以這個(gè)風(fēng)格創(chuàng)建的窗口在窗口下的同屬窗口已重畫(huà)時(shí),該窗口才可以重畫(huà)。由于其下的同屬富日已被重畫(huà),該窗口是透明的。IpClassName:指向一個(gè)空結(jié)束的字符串或整型數(shù)atom。如果該參數(shù)是一個(gè)整型量,它是由此前調(diào)用theGlo

47、baIAddAtom函數(shù)產(chǎn)生的全局量。這個(gè)小于OxCOOO的16位數(shù)必須是IpClassName參數(shù)字的低16位,該參數(shù)的高位必須是O。如果lpClassName是一個(gè)字符串,它指定了窗口的類(lèi)名。這個(gè)類(lèi)名可以是任何用函數(shù)RegisterClassEx注冊(cè)的類(lèi)名,或是任何預(yù)定義的控制類(lèi)名。請(qǐng)看說(shuō)明部分的列表。lpWindowName:指向一個(gè)指定窗口名的空結(jié)束的字符串指針。如果窗口風(fēng)格指定了標(biāo)題條,由lpWindowName指向的窗口標(biāo)題將顯示在標(biāo)題條上。當(dāng)使用CreateWindow函數(shù)來(lái)創(chuàng)建控制例如按鈕,選擇框和靜態(tài)控制時(shí),可使用lpWindowName來(lái)指定控制文本。dwStyle:指定創(chuàng)

48、建窗口的風(fēng)格。該參數(shù)可以是下列窗口風(fēng)格的組合再加上說(shuō)明部分的控制風(fēng)格。x:參見(jiàn)CreateWindow。y:參見(jiàn)CreateWindow。nWidth:CreateWindow。nHeigth:參見(jiàn)CreateWindow。hWndParent:參見(jiàn)CreateWindow。hMenu:參見(jiàn)CreateWindow。hlnstance:參見(jiàn)CreateWindow。lpParam:參見(jiàn)CreateWindow。返回值:參見(jiàn)CreateWindow。備注:參見(jiàn)CreateWindow。速查:WindowsNT:3.1以上版本;Windows:95以上版本;WindowsCE:1.0以上版本;頭文

49、件:winuser.h;庫(kù)文件:USer32.1ib;Unicode:在WindowsNT上實(shí)現(xiàn)為Unicode和ANSI兩種版本。DeferWindowPos函數(shù)功能:該函數(shù)為指定的窗口更新指定的多窗口位置結(jié)構(gòu),然后函數(shù)返回該更新結(jié)構(gòu)的句柄。EndDeferWindowPos函數(shù)使用該結(jié)構(gòu)內(nèi)的信息同時(shí)改變一些窗口的位置和大小。該結(jié)構(gòu)由BeginDeferWindowPos函數(shù)創(chuàng)建。函數(shù)原型:HWNDDeferWindowPos(HDWPhWinPoslnfo,HWNDhWnd,HWNDhWndlnsertAffer,intx,inty,intcx,intCy,UNITuFags);參數(shù):hW

50、inPoslnfo:多窗口定位結(jié)構(gòu)的句柄,該結(jié)構(gòu)包含著一個(gè)或多個(gè)窗口的尺寸和定位信息,可以由函數(shù)BeginDeterWindowPos返回該結(jié)構(gòu)或是由最近一次調(diào)用的DeferWindowPos函數(shù)返回。hWnd:窗口的句柄,該窗口的更新信息存儲(chǔ)在結(jié)構(gòu)中。hWndlnsertAfter:被定位窗口的Z序的前一窗口的句柄。這個(gè)參數(shù)必須為窗口句柄或下列值之一:HWND_B0TT0M:將窗口定位在Z序的底部。如果hWnd參數(shù)指定的是一個(gè)最頂層窗口,則該窗口將失去頂級(jí)位置而被排在所有其他窗口的底部。HWND_N0T0PM0ST:將窗口放置在所有頂層窗口的頂部(即在所有頂層窗口的后面)。如果窗口已經(jīng)是一個(gè)

51、非頂層窗口則此參數(shù)不起作用。HWND_TOP:將窗口放置在Z序的頂部。HWND_T0PM0ST:將窗口放置在所有非頂層窗口的頂部、即使未被激活,窗口仍保持頂級(jí)位置。如果在uFlagS參數(shù)中指定了SWP_N0Z0RDER標(biāo)志則本參數(shù)將被忽略。x:指定窗口左上角的X坐標(biāo)。y:指定窗口左上角的y坐標(biāo)。cx:以像素定義窗口的新的寬度。cy:以像素定義窗口的新的寬度。uelage:指定下列影響窗口的大小和位置的值的組合:SWP_DRAWFRAME:在窗口周?chē)?huà)一個(gè)邊框(該邊框定義在窗口類(lèi)的描述中)。SWP_FRAMECHANGED:給窗口發(fā)送一個(gè)WM_NCCALCSIZE消息,即使窗口的尺寸不作改變也要

52、發(fā)送。如果未指定這個(gè)標(biāo)志,則只有窗口大小改變時(shí)才發(fā)送WM_NCCALCSIZE消息。SWP_HIDEWINDOW:隱藏窗口。SWP_NOACTIVATE:不激活窗口。如果未指定這個(gè)標(biāo)志,則窗口被激活并且根據(jù)hWndlnsertAfter參數(shù)的設(shè)置移到或是頂部窗口的頂部或是非頂部窗口的頂部。SWP_N0M0VE;維持當(dāng)前位置(忽略X和y參數(shù))。SWP_N00WNERZ0RDER:不改變所有者窗口在Z序中的位置。SWP_NOREDRAM:不作窗口更新。如果設(shè)定了這個(gè)標(biāo)志,則不發(fā)生任何窗口刷新的動(dòng)作。包括不對(duì)客戶區(qū),非客戶區(qū)(包括標(biāo)題條和滾動(dòng)條),以及由于窗口移動(dòng)露出的部分父窗口進(jìn)行刷新。當(dāng)設(shè)定了這

53、個(gè)標(biāo)志時(shí),應(yīng)用程序一定要明確指出將原窗口清除并且重畫(huà)窗口的任何部分以及父窗口需要重畫(huà)的部分。SWP_NOREPOSITION:同SWP_NOOWNERZORDER標(biāo)志。SWP_NOSENDCHANGING:防止窗口接受到WM_WINDOWPOSCHANGING消息。SWP_NOSIZE;保持當(dāng)前大小。(即忽略CX,Xy參數(shù))。SWP_NOZORDER:保持當(dāng)前Z序(忽略hWndlnsertAfter參數(shù))。SWP_SH0WWIND0W:顯示窗口。返回值:返回值指明了被更新的多窗口定位結(jié)構(gòu)。函數(shù)返回的句柄可能與傳遞給函數(shù)的句柄不同。這個(gè)函數(shù)返回的新句柄應(yīng)在下一次調(diào)用時(shí)傳遞給DeferWindow

54、Pos函數(shù)和EndDeferWindowPos函數(shù)。如果調(diào)用函數(shù)時(shí)系統(tǒng)資源不足,則函數(shù)返回NULL。若想獲得更多錯(cuò)誤信息,請(qǐng)調(diào)用GetLastError函數(shù)。備注:如果調(diào)用函數(shù)DeferWindowPos失敗,應(yīng)用程序應(yīng)放棄窗口定位動(dòng)作,并且不再調(diào)用EndDeferWindowPos函數(shù)。如果未指定SWP_N0Z0RDER,系統(tǒng)將由hWnd參數(shù)指定的窗口定位于在hWndlnsertAfer參數(shù)指定的窗口之后的位置。如果hWndlnsertAfsr參數(shù)為空或?yàn)镠WND_T0P,則系統(tǒng)將窗口放置在Z序頂端。如果hWndlnsertAfer設(shè)為HWND_B0TT0M則系統(tǒng)將窗口放置在Z序的底部。所有

55、子窗口的坐標(biāo)都是相對(duì)于父窗口客戶區(qū)的左上角的坐標(biāo)。一個(gè)窗口可以通過(guò)兩種方式設(shè)為頂部窗口:或是設(shè)hWndlnsertAfter為HWND_TOPMOST并確保未設(shè)置SWP_NOZORDER標(biāo)志;或是設(shè)置窗口在Z序中的位置使其在所有已存在的頂端窗口的頂部。當(dāng)一個(gè)非頂端窗口被設(shè)為頂端窗口時(shí),則屬于它的窗口均被置為頂端窗口,而其所有者則不變。如果SWP_NOACTIVATE或SWP_NOZORDER均未設(shè)置(即當(dāng)應(yīng)用程序要求在窗口被激活的同時(shí)改變其z序時(shí)),hwdfnsertPos參數(shù)只在下列情況中使用:在hWndlnsertAfter參數(shù)中既未設(shè)定HWND_TOPMOST也未設(shè)定HWND_NoTTO

56、PMOST標(biāo)志;由hWnd指定的窗口不是激活窗口;應(yīng)用程序在將窗口設(shè)為活動(dòng)窗口時(shí)應(yīng)將窗口設(shè)置到Z序的頂部。應(yīng)用程序可以不受任何限制地改變被激活窗口在Z序中的位置,或在激活一個(gè)窗口之后將該窗口移到頂端窗口或非頂端窗口的頂部。如果一個(gè)頂端窗口被重定位到Z序的底部(HWND_BOTTOM)或任何非頂端窗口后面時(shí)將不再是頂端窗口。一個(gè)非頂端窗口可能擁有一個(gè)頂端窗口,反之則不成立。從屬的任何窗口(例如一個(gè)對(duì)話框)都設(shè)置為頂層窗口以確保所有的從屬窗口都在其所有者之上。速查:WindowsNT:3.1以上版本;Windows:95以上版本;WindowsCE:不支持;頭文件:winuser.h;庫(kù)文件:us

57、er32.1ib。EnumChildProc函數(shù)功能:是與函數(shù)EnumChilWindows一起使用的由應(yīng)用程序定義的回調(diào)函數(shù)。它接收子窗口句柄。類(lèi)型WNDENUM0R0C定義了指向這個(gè)回調(diào)函數(shù)的指針。EnumChildProc是一個(gè)應(yīng)用程序定義的函數(shù)名的位置標(biāo)志符。函數(shù)原型:BOOLCALLBACKEnumChildProc(HWNDhWnd,LPARAMIParam);參數(shù):hWnd:指向在EnumChildWlndows中定義的父窗口的子窗口句柄。lparam:指定在EnumchildWindows中給出的應(yīng)用程序定義值。返回值:為繼續(xù)列舉,回調(diào)函數(shù)必須返回TRUE;為停止列舉,回調(diào)函數(shù)

58、必須返回FALSE。備注:回調(diào)函數(shù)可以執(zhí)行任何要求的任務(wù)。應(yīng)用程序必須通過(guò)將其地址傳送給EnumChildwindows函數(shù)來(lái)注冊(cè)這個(gè)回調(diào)函數(shù)。速查:WindowsNT:3.1以上版本;Windows:95以上版本;WindowsCE:不支持:頭文件:winuser.h;庫(kù)文件:用戶自定義。EnableWindow函數(shù)功能:該函數(shù)允許或禁止指定的窗口或控制接受鼠標(biāo)輸入或鍵盤(pán)輸入。當(dāng)輸入被禁止時(shí)窗口不能接收鼠標(biāo)單擊和按鍵等類(lèi)輸入;當(dāng)輸入允許時(shí),窗口接受所有的輸入。函數(shù)原型:BOOLEnableWindow(HWNDhWnd,BOOLbEndble);參數(shù):hWnd:允許或禁止的窗口句柄。bEna

59、ble:指定是允許還是禁止窗口。如果這個(gè)參數(shù)為T(mén)RUE,窗口允許;如果參數(shù)為FALSE,則窗口被禁止。返回值:如果窗口此前曾被禁止,則返回值為非零;如果窗口此前未被禁止,則返回值為零。若想獲得更多錯(cuò)誤信息,請(qǐng)調(diào)用GetLastError函數(shù)。備注:如果窗口的使能狀態(tài)正在改變,則在EnableWindow函數(shù)返回前發(fā)送一個(gè)WM_ENABLE消息。如果窗口己經(jīng)被禁止,則它的所有子窗口都被禁止,即使未向它們發(fā)送WM_ENABLE消息。在一個(gè)窗口被激活前必須是使能的。例如,如果應(yīng)用程序正在顯示一個(gè)無(wú)模式對(duì)話框并且禁止了它的主窗口,則應(yīng)用程序在銷(xiāo)毀對(duì)話框之前一定要使能該主窗口。否則,將有另外一個(gè)窗口接受

60、鍵盤(pán)焦點(diǎn)并且被激活。如果一個(gè)子窗口被禁止,則在系統(tǒng)確定由哪一個(gè)窗口接受鼠標(biāo)消息時(shí)該子窗口將被忽略。當(dāng)窗口被創(chuàng)建時(shí)缺省為使能狀態(tài)。要?jiǎng)?chuàng)建一個(gè)初始被禁止的窗口,應(yīng)用程序可以在CreateWindowh函數(shù)和CreateWindowhEx中指定WS_DISABLED風(fēng)格。在窗口被創(chuàng)建后,應(yīng)用程序可以使用EnaoleWindow函數(shù)來(lái)使能和禁止窗口。應(yīng)用程序可以使用這個(gè)函數(shù)來(lái)使能或禁止在對(duì)話框內(nèi)的控制。一個(gè)被禁止的控制不能接受鍵盤(pán)焦點(diǎn)用戶也不能進(jìn)入該控制。速查:WindowsNT:3.1以上版本;Windows:95以上版本;WindowsCE:1.0以上版本;頭文件:winuser.h;庫(kù)文件:us

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論