Windows (視窗和訊息)
在圖形化 Windows 應用程式中,視窗是畫面的矩形區域,其中應用程式會顯示輸出,並從使用者接收輸入。 因此,圖形化 Windows 應用程式的第一個工作之一是建立視窗。
視窗與其他視窗共享畫面,包括來自其他應用程式的視窗。 一次只能有一個視窗接收用戶的輸入。 使用者可以使用滑鼠、鍵盤或其他輸入設備與此視窗和擁有它的應用程式互動。
本節內容
名稱 | 描述 |
---|---|
關於 Windows | 描述應用程式用來建立及使用視窗的程式設計元素;管理視窗之間的關聯性;和大小、移動和顯示視窗。 |
使用 Windows | 包含執行與使用視窗相關聯之工作的範例。 |
視窗功能 | 討論視窗的功能,例如視窗類型、狀態、大小和位置。 |
窗口參考 | 包含 API 參考。 |
視窗函式
名稱 | 描述 |
---|---|
AdjustWindowRect | 根據所需的用戶端矩形大小計算視窗矩形所需的大小。 然後,視窗矩形可以傳遞至 CreateWindow 函式,以建立其工作區為所需大小的視窗。 |
AdjustWindowRectEx | 根據用戶端矩形所需的大小計算視窗矩形所需的大小。 然後,視窗矩形可以傳遞至 CreateWindowEx 函式,以建立其工作區為所需大小的視窗。 |
AllowSetForegroundWindow | 可讓指定的進程使用 SetForegroundWindow 函式來設定前景視窗。 呼叫進程必須已經能夠設定前景視窗。 如需詳細資訊,請參閱本主題稍後的。 |
AnimateWindow | 可讓您在顯示或隱藏視窗時產生特殊效果。 動畫有四種類型:滾動、投影片、折疊或展開,以及Alpha混合淡出。 |
AnyPopup | 指出螢幕上是否存在擁有、可見、最上層彈出視窗或重疊視窗。 函式會搜尋整個畫面,而不只是呼叫應用程式的工作區。 |
ArrangeIconicWindows | 排列指定父視窗的所有最小化 (圖示) 子視窗。 |
BeginDeferWindowPos | 配置多視窗位置結構的記憶體,並將句柄傳回至 結構。 |
BringWindowToTop | 將指定的視窗帶到 Z 順序的頂端。 如果視窗是最上層視窗,則會啟動它。 如果視窗是子視窗,則會啟動與子視窗相關聯的最上層父視窗。 |
CalculatePopupWindowPosition | 使用指定的錨點、彈出視窗大小、旗標和選擇性排除矩形,計算適當的彈出視窗位置。 當指定的彈出視窗大小小於桌面視窗大小時,請使用 CalculatePopupWindowPosition 函式來確保無論指定的錨點為何,在桌面視窗上都完全可見彈出視窗。 |
CascadeWindows | 重疊指定父視窗的指定子視窗。 |
ChangeWindowMessageFilter | 從使用者介面許可權隔離 (UIPI) 訊息篩選新增或移除訊息。 |
ChangeWindowMessageFilterEx | 修改指定視窗的 UIPI 訊息篩選。 |
ChildWindowFromPoint | 判斷屬於父視窗的子視窗是否包含指定的點。 搜尋僅限於立即子視窗。 孫子孫女和更深的後裔視窗不會搜尋。 |
ChildWindowFromPointEx | 判斷屬於指定父視窗的子視窗是否包含指定的點。 函式可以忽略不可見、已停用和透明的子視窗。 搜尋僅限於立即子視窗。 孫子和更深的後裔沒有被搜索。 |
CloseWindow | 將指定的視窗最小化(但不會終結)。 |
CreateWindow | 建立重疊、彈出視窗或子視窗。 它會指定視窗類別、視窗標題、視窗樣式,以及視窗的初始位置和大小。。 函式也會指定視窗的父代或擁有者,如果有的話,以及視窗的功能表。 |
CreateWindowEx | 建立具有延伸窗口樣式的重疊、彈出視窗或子視窗;否則,此函式與 CreateWindow 函式相同。 如需建立視窗以及 CreateWindowEx 其他參數的完整描述的詳細資訊,請參閱 CreateWindow。 |
DeferWindowPos | 更新 指定的多視窗 – 指定視窗的位置結構。 函式接著會傳回更新結構的句柄。 EndDeferWindowPos 函式會使用此結構中的資訊,同時變更一些視窗的位置和大小。 BeginDeferWindowPos 函式會建立 結構。 |
DeregisterShellHookWindow | 取消註冊已註冊以接收殼層攔截訊息的指定殼層視窗。 它會取消註冊已向 RegisterShellHookWindow 函式呼叫註冊的視窗。 |
DestroyWindow | 終結指定的視窗。 函式會將WM_DESTROY和WM_NCDESTROY訊息傳送至視窗,以停用它,並從中移除鍵盤焦點。 函式也會終結視窗的功能表、排清線程消息佇列、終結定時器、移除剪貼簿擁有權,以及中斷剪貼簿查看器鏈結(如果視窗位於查看器鏈結的頂端)。 |
EndDeferWindowPos | 同時更新單一螢幕重新整理週期中一或多個視窗的位置和大小。 |
EndTask | 強制關閉指定的視窗。 |
EnumChildProc | 搭配 EnumChildWindows 函式使用的應用程式定義回呼函式。 它會接收子視窗句柄。 WNDENUMPROC 類型會定義這個回呼函式的指標。 EnumChildProc 是應用程式定義函數名稱的佔位元。 |
EnumChildWindows | 藉由將句柄傳遞至應用程式定義的回呼函式,列舉屬於指定父視窗的子視窗。 EnumChildWindows 會繼續執行,直到列舉最後一個子窗口,否則回呼函式會傳 回 FALSE。 |
EnumThreadWindows | 藉由將句柄傳遞至應用程式定義的回呼函式,列舉與線程相關聯的所有非child 視窗。 EnumThreadWindows 會繼續執行,直到列舉最後一個視窗或回呼函式傳 回 FALSE 為止。 若要列舉特定視窗的子視窗,請使用 EnumChildWindows 函式。 |
EnumThreadWndProc | 搭配 EnumThreadWindows 函式使用的應用程式定義回呼函式。 它會接收與線程相關聯的視窗句柄。 WNDENUMPROC 類型會定義這個回呼函式的指標。 EnumThreadWndProc 是應用程式定義函數名稱的佔位元。 |
EnumWindows | 藉由將句柄傳遞至應用程式定義的回呼函式,列舉螢幕上的所有最上層視窗。 EnumWindows 會繼續執行,直到列舉最後一個最上層視窗,否則回呼函式會傳 回 FALSE。 |
EnumWindowsProc | 搭配 EnumWindows 或 EnumDesktopWindows 函式使用的應用程式定義回呼函式。 它會接收最上層視窗句柄。 WNDENUMPROC 類型會定義這個回呼函式的指標。 EnumWindowsProc 是應用程式定義函數名稱的佔位元。 |
FindWindow | 擷取最上層視窗的句柄,其類別名稱和視窗名稱符合指定的字串。 此函式不會搜尋子視窗。 此函式不會執行區分大小寫的搜尋。 |
FindWindowEx | 擷取視窗的句柄,其類別名稱和視窗名稱符合指定的字串。 函式會搜尋子視窗,從指定子視窗後面的子視窗開始。 此函式不會執行區分大小寫的搜尋。 |
GetAltTabInfo | 如果指定視窗是應用程式切換 (ALT+TAB) 視窗,則擷取指定視窗的狀態資訊。 |
GetAncestor | 擷取指定視窗上階的句柄。 |
GetClientRect | 擷取視窗工作區的座標。 用戶端座標會指定工作區的左上角和右下角。 因為用戶端座標相對於視窗工作區的左上角,左上角的座標是 (0,0)。 |
GetDesktopWindow | 傳回桌面視窗的句柄。 桌面窗口涵蓋整個畫面。 桌面視窗是其他視窗所繪製的區域。 |
GetForegroundWindow | 傳回前景視窗的句柄(使用者目前使用的視窗)。 系統會為建立前景視窗的線程指派略高於其他線程的優先順序。 |
GetGUIThreadInfo | 擷取使用中視窗或指定 GUI 線程的相關信息。 |
GetLastActivePopup | 判斷指定視窗擁有的彈出視窗最近使用中。 |
GetLayeredWindowAttributes | 擷取分層視窗的不透明和透明色鍵。 |
GetNextWindow | 擷取 Z 順序中下一個或上一個視窗的句柄。 下一個視窗位於指定的視窗下方;上一個視窗以上。 如果指定的視窗是最上層的視窗,函式會擷取下一個 (或上一個) 最上層視窗的句柄。 如果指定的視窗是最上層視窗,函式會擷取下一個 (或上一個) 最上層視窗的句柄。 如果指定的視窗是子視窗,函式會搜尋下一個 (或上一個) 子視窗的句柄。 |
GetParent | 擷取指定視窗的父代或擁有者句柄。 |
GetProcessDefaultLayout | 擷取在沒有父系或擁有者的情況下建立視窗時所使用的預設版面配置。 |
GetShellWindow | 傳回殼層桌面視窗的句柄。 |
GetTitleBarInfo | 擷取指定之標題列的相關資訊。 |
GetTopWindow | 檢查與指定父視窗相關聯的子視窗 Z 順序,並擷取 Z 順序頂端子視窗的句柄。 |
GetWindow | 擷取具有指定關聯性之視窗的句柄(Z 順序 或擁有者)至指定的視窗。 |
GetWindowDisplayAffinity | 從指定視窗的任何進程擷取目前的顯示親和性設定。 |
GetWindowInfo | 擷取指定視窗的相關信息。 |
GetWindowModuleFileName | 擷取與指定之視窗句柄相關聯之模組的完整路徑和檔名。 |
GetWindowPlacement | 擷取顯示狀態和還原、最小化和最大化指定視窗的位置。 |
GetWindowRect | 擷取指定視窗周框的維度。 維度會以相對於螢幕左上角的螢幕座標來指定。 |
GetWindowText | 將指定視窗標題列的文字複製到緩衝區中(如果有的話)。 如果指定的視窗是控制件,則會複製控制的文字。 不過, GetWindowText 無法擷取另一個應用程式中控件的文字。 |
GetWindowTextLength | 擷取指定視窗標題欄文字的長度,以字元為單位(如果視窗有標題列)。 如果指定的視窗是控件,函式會擷取控件內的文字長度。 不過, GetWindowTextLength 無法擷取另一個應用程式中編輯控件的文字長度。 |
GetWindowThreadProcessId | 擷取建立指定視窗之線程的標識碼,並選擇性地擷取建立視窗之進程的識別碼。 |
IsChild | 判斷視窗是指定父視窗的子視窗或子代視窗。 如果子視窗位於父視窗的鏈結中,則子視窗是指定父視窗的直接子代;父視窗鏈結會從原始重疊或彈出窗口導向子視窗。 |
IsGUIThread | 判斷呼叫線程是否已經是 GUI 線程。 它也可以選擇性地將線程轉換成 GUI 線程。 |
IsHungAppWindow | 判斷 Windows 是否認為指定的應用程式沒有回應。 如果應用程式未等候輸入、不在啟動處理中,且在 5 秒的內部逾時期間內未呼叫 PeekMessage ,則會被視為不會回應。 |
IsIconic | 判斷指定的視窗是否最小化 (圖示)。 |
IsProcessDPIAware | 取得值,這個值表示目前進程是否為每英吋點 (dpi) 感知,使其調整 UI 元素的大小,以補償 dpi 設定。 |
IsWindow | 判斷指定的視窗句柄是否識別現有的視窗。 |
IsWindowUnicode | 判斷指定的視窗是否為原生 Unicode 視窗。 |
IsWindowVisible | 擷取指定視窗的可見性狀態。 |
IsZoomed | 判斷視窗是否最大化。 |
LockSetForegroundWindow | 前景進程可以呼叫 LockSetForegroundWindow 函式,以停用對 SetForegroundWindow 函式的呼叫。 |
LogicalToPhysicalPoint | 將視窗中某個點的邏輯座標轉換為實體座標。 |
MoveWindow | 變更指定視窗的位置和維度。 對於最上層視窗,位置和維度會相對於畫面左上角。 對於子視窗,它們相對於父視窗工作區的左上角。 |
OpenIcon | 將最小化(圖示)視窗還原為其先前的大小和位置;然後會啟動視窗。 |
PhysicalToLogicalPoint | 將視窗中某個點的實體座標轉換為邏輯座標。 |
RealChildWindowFromPoint | 擷取指定點子視窗的句柄。 搜尋僅限於立即子視窗;孫子和更深的後裔窗口沒有搜索。 |
RealGetWindowClass | 擷取指定視窗類型的字串。 |
RegisterShellHookWindow | 註冊指定的殼層視窗,以接收殼層應用程式有用的事件或通知的特定訊息。 收到的事件訊息只會傳送至與指定視窗桌面相關聯的殼層視窗。 許多訊息與呼叫 SetWindowsHookEx 函式並指定勾點類型的WH_SHELL之後可以接收的訊息相同。 RegisterShellHookWindow 的差異在於訊息是透過指定的視窗的 WindowProc 接收,而不是透過回呼程式接收。 |
SetForegroundWindow | 將建立指定視窗的線程放入前景,並啟動視窗。 鍵盤輸入會導向至視窗,而用戶會變更各種視覺提示。 系統會將略高於建立前景視窗的線程優先順序指派給其他線程。 |
SetLayeredWindowAttributes | 設定分層視窗的不透明和透明色鍵。 |
SetParent | 變更指定子視窗的父視窗。 |
SetProcessDefaultLayout | 只有在目前執行中的進程沒有父代或擁有者的情況下建立視窗時,變更預設版面配置。 |
SetProcessDPIAware | 將目前的進程設定為 dpi 感知。 |
SetWindowDisplayAffinity | 將顯示親和性設定儲存在與視窗相關聯的 hWnd 核心模式中。 |
SetWindowPlacement | 設定顯示狀態和已還原、最小化和最大化指定視窗的位置。 |
SetWindowPos | 變更子系、彈出視窗或最上層視窗的大小、位置和 Z 順序。 這些視窗會根據其在螢幕上的外觀來排序。 最上層的視窗會接收最高的排名,而且是 Z 順序中的第一個視窗。 |
SetWindowText | 變更指定視窗標題列的文字(如果有的話)。 如果指定的視窗是控件,則會變更控件的文字。 不過, SetWindowText 無法變更另一個應用程式中控件的文字。 |
ShowOwnedPopups | 顯示或隱藏指定視窗所擁有的所有彈出視窗。 |
ShowWindow | 設定指定的視窗顯示狀態。 |
ShowWindowAsync | 設定由不同線程建立之視窗的顯示狀態。 |
SoundSentry | 觸發視覺訊號,指出音效正在播放。 |
SwitchToThisWindow | 將焦點切換至指定的視窗,並將它帶到前景。 |
TileWindows | 磚指定父視窗的指定子視窗。 |
UpdateLayeredWindow | 更新分層視窗的位置、大小、形狀、內容和透明度。 |
UpdateLayeredWindowIndirect | 更新分層視窗的位置、大小、形狀、內容和透明度。 |
WindowFromPhysicalPoint | 擷取包含指定實體點之視窗的句柄。 |
WindowFromPoint | 擷取包含指定點之視窗的句柄。 |
WinMain | WinMain 是 Windows 應用程式使用者提供進入點的傳統名稱。 |
視窗宏
名稱 | 描述 |
---|---|
GET_X_LPARAM | 從指定的 LPARAM 值擷取帶正負號的 x 座標。 |
GET_Y_LPARAM | 從指定的 LPARAM 值擷取帶正負號的 Y 座標。 |
HIBYTE | 從指定的16位值擷取高階位元組。 |
HIWORD | 從指定的32位值擷取高序字組。 |
LOBYTE | 從指定的值擷取低序位元組。 |
LOWORD | 從指定的值擷取低序字組。 |
MAKELONG | 藉由串連指定的值來建立LONG值。 |
MAKELPARAM | 建立值,當做 訊息中的 lParam 參數使用。 宏會串連指定的值。 |
MAKELRESULT | 建立值,以做為視窗程序的傳回值。 宏會串連指定的值。 |
MAKEWORD | 藉由串連指定的值來建立 WORD 值。 |
MAKEWPARAM | 建立值,當做 訊息中的 wParam 參數使用。 宏會串連指定的值。 |
視窗訊息
名稱 | 描述 |
---|---|
MN_GETHMENU | 取得目前視窗的 HMENU。 |
WM_GETFONT | 擷取控件目前正在繪製其文字的字型。 |
WM_GETTEXT | 將對應至視窗的文字複製到呼叫端提供的緩衝區。 |
WM_GETTEXTLENGTH | 判斷與視窗相關聯之文字的長度,以字元為單位。 |
WM_SETFONT | 指定控件在繪製文字時要使用的字型。 |
WM_SETICON | 將新的大型或小型圖示與窗口產生關聯。 系統會在 [ALT+TAB] 對話框中顯示大型圖示,以及視窗中的小圖示 標題。 |
WM_SETTEXT | 設定視窗的文字。 |
視窗通知
名稱 | 描述 |
---|---|
WM_ACTIVATEAPP | 當屬於與使用中視窗不同的視窗即將啟動時傳送。 訊息會傳送至正在啟動其視窗的應用程式,以及要停用其視窗的應用程式。 視窗會透過其 WindowProc 函式接收此訊息。 |
WM_CANCELMODE | 傳送以取消特定模式,例如滑鼠擷取。 例如,系統會在顯示對話框或消息框時,將此訊息傳送至使用中視窗。 不論此訊息是否為使用中視窗,某些函式也會明確地將此訊息傳送至指定的視窗。 例如,EnableWindow 函式會在停用指定的視窗時傳送此訊息。 |
WM_CHILDACTIVATE | 當使用者按兩下視窗的標題列或視窗啟動、移動或調整大小時,傳送至子視窗。 |
WM_CLOSE | 以視窗或應用程式應終止的訊號傳送。 |
WM_COMPACTING | 當系統在 30 到 60 秒間隔內偵測到超過 12.5% 的系統時間時,傳送至所有最上層視窗。 這表示系統記憶體不足。 |
WM_CREATE | 當應用程式要求透過呼叫 CreateWindowEx 或 CreateWindow 函式來建立視窗時傳送。 (訊息會在函式傳回之前傳送。新視窗的視窗程式會在建立窗口之後收到此訊息,但在視窗變成可見之前。 |
WM_DESTROY | 當視窗被終結時傳送。 它會在視窗從畫面中移除後,傳送至正在終結之視窗的視窗程式。 此訊息會先傳送至正在終結的視窗,然後傳送到子視窗(如果有的話),因為它們被終結。 在訊息處理期間,可以假設所有子視窗仍然存在。 |
WM_ENABLE | 當應用程式變更視窗的啟用狀態時傳送。 它會傳送至已啟用狀態變更的視窗。 此訊息會在 EnableWindow 函式傳回之前傳送,但在視窗的啟用狀態(WS_DISABLED樣式位)變更之後。 |
WM_ENTERSIZEMOVE | 在進入移動或重設大小的強制回應迴圈之後,傳送一次至視窗。 當使用者按兩下視窗的標題列或重設大小框線時,或視窗將WM_SYSCOMMAND訊息傳遞至DefWindowProc函式,而訊息的 wParam 參數會指定SC_MOVE或SC_SIZE值時,視窗會輸入移動或重設大小的強制回應迴圈。 當 DefWindowProc 傳回時,作業就會完成。 不論是否啟用完整視窗的拖曳,系統都會傳送 WM_ENTERSIZEMOVE 訊息。 |
WM_ERASEBKGND | 必須在清除視窗背景時傳送 (例如,視窗重設大小時)。 訊息會傳送,以準備視窗的無效部分進行繪製。 |
WM_EXITSIZEMOVE | 在窗口結束移動或重設大小強制回應迴圈之後,傳送一次。 當使用者按兩下視窗的標題列或重設大小框線,或視窗將WM_SYSCOMMAND訊息傳遞至DefWindowProc函式,以及訊息的 wParam 參數指定SC_MOV E 或 SC_SIZE 值時,視窗會輸入移動或重設大小模式迴圈。 當 DefWindowProc 傳回時,作業就會完成。 |
WM_GETICON | 傳送至視窗,以擷取與視窗相關聯之大型或小型圖示的句柄。 系統會在 ALT+TAB 對話框中顯示大型圖示,以及視窗 標題 的小圖示。 |
WM_GETMINMAXINFO | 當視窗的大小或位置即將變更時,傳送至視窗。 應用程式可以使用此訊息來覆寫視窗的預設最大化大小和位置,或其預設的最小或最大追蹤大小。 |
WM_INPUTLANGCHANGE | 變更應用程式輸入語言之後,傳送至最上層受影響的視窗。 您應該進行任何應用程式特定的設定,並將訊息傳遞至 DefWindowProc 函式,此函式會將訊息傳遞至所有第一層子視窗。 這些子視窗可以將訊息傳遞至 DefWindowProc ,使其將訊息傳遞至其子視窗等等。 |
WM_INPUTLANGCHANGEREQUEST | 當使用者選擇新的輸入語言時,會以焦點張貼到視窗,無論是使用快速鍵(在鍵盤控制面板應用程式中指定),還是從系統任務欄上的指標。 應用程式可以藉由將訊息傳遞至 DefWindowProc 函式,或立即傳回來拒絕變更,以防止變更發生。 |
WM_MOVE | 在移動窗口之後傳送。 |
WM_MOVING | 傳送至用戶移動的視窗。 藉由處理此訊息,應用程式可以監視拖曳矩形的位置,並視需要變更其位置。 |
WM_NCACTIVATE | 需要變更非工作區以指出作用中或非使用中狀態時,傳送至視窗。 |
WM_NCCALCSIZE | 必須計算視窗工作區的大小和位置時傳送。 藉由處理此訊息,當視窗的大小或位置變更時,應用程式可以控制視窗工作區的內容。 |
WM_NCCREATE | 第一次建立視窗時,在WM_CREATE訊息之前傳送。 |
WM_NCDESTROY | 通知視窗其非工作區正在終結。 DestroyWindow 函式會將WM_NCDESTROY訊息傳送至WM_DESTROY訊息之後的視窗。 WM_DESTROY可用來釋放與視窗相關聯的已配置記憶體物件。 子窗口終結之後,會 傳送WM_NCDESTROY 訊息。 相反地, WM_DESTROY 會在子窗口終結之前傳送。 |
WM_NULL | 不執行任何作業。 如果應用程式想要張貼收件者視窗將會忽略的訊息,則應用程式會傳送 WM_NULL 訊息。 |
WM_PARENTNOTIFY | 建立或終結子視窗時,或當使用者在子視窗上方按下滑鼠按鈕時,傳送至子視窗的父視窗。 建立子視窗時,系統會在建立視窗的 CreateWindow 或 CreateWindowEx 函式傳回之前傳送WM_PARENTNOTIFY。 當子視窗被終結時,系統會先傳送訊息,再進行任何處理以終結視窗。 |
WM_QUERYDRAGICON | 傳送至最小化(標誌性)視窗。 視窗即將由使用者拖曳,但沒有為其類別定義的圖示。 應用程式可以傳回圖示或游標的句柄。 當使用者拖曳圖示時,系統會顯示此游標或圖示。 |
WM_QUERYOPEN | 當使用者要求將視窗還原至其先前的大小和位置時,傳送至圖示。 |
WM_QUIT | 指出終止應用程式的要求,並在應用程式呼叫 PostQuitMessage 函式時產生。 它會導致 GetMessage 函式傳回零。 |
WM_SHOWWINDOW | 當視窗即將隱藏或顯示時,傳送至視窗。 |
WM_SIZE | 在視窗的大小變更之後傳送至視窗。 |
WM_SIZING | 傳送至使用者重設大小的視窗。 藉由處理此訊息,應用程式可以監視拖曳矩形的大小和位置,並視需要變更其大小或位置。 |
WM_STYLECHANGED | 在 SetWindowLong 函式變更視窗的一或多個樣式之後,Ssent 至視窗。 |
WM_STYLECHANGING | 當 SetWindowLong 函式即將變更視窗的一或多個樣式時,傳送至視窗。 |
WM_THEMECHANGED | 在主題變更事件之後,廣播至每個視窗。 主題變更事件的範例包括主題的啟用、主題的停用,或從某個主題轉換到另一個主題。 |
WM_USERCHANGED | 在使用者登入或關閉之後傳送至所有視窗。 當使用者登入或關閉時,系統會更新使用者特定的設定。 系統會在更新設定之後立即傳送此訊息。 |
WM_WINDOWPOSCHANGED | 當呼叫 SetWindowPos 函式或其他視窗管理函式時,傳送至 Z 順序的大小、位置或位置已變更的視窗。 |
WM_WINDOWPOSCHANGING | 傳送至以 Z 順序排列大小、位置或位置的視窗,由於呼叫 SetWindowPos 函式或其他視窗管理函式而即將變更。 |
窗口結構
名稱 | 描述 |
---|---|
ALTTABINFO | 包含應用程式切換 (ALT+TAB) 視窗的狀態資訊。 |
CHANGEFILTERSTRUCT | 包含呼叫 ChangeWindowMessageFilterEx 函式所取得的擴充結果資訊。 |
CLIENTCREATESTRUCT | 包含 MDI 用戶端視窗之功能表和第一個多文檔介面 (MDI) 子視窗的相關信息。 應用程式會在建立 MDI 用戶端視窗時,將此結構的指標當做 CreateWindow 函式的 lpParam 參數傳遞。 |
CREATESTRUCT | 定義傳遞至應用程式視窗程式的初始化參數。 這些成員與 CreateWindowEx 函式的參數相同。 |
GUITHREADINFO | 包含 GUI 線程的相關信息。 |
MINMAXINFO | 包含視窗最大大小和位置的相關信息,以及其最小和最大追蹤大小。 |
NCCALCSIZE_PARAMS | 包含應用程式可在處理 WM_NCCALCSIZE 訊息時使用的資訊,以計算視窗工作區的大小、位置和有效內容。 |
STYLESTRUCT | 包含窗口的樣式。 |
TITLEBARINFO | 包含標題列資訊。 |
TITLEBARINFOEX | 藉由包含標題列之每個元素的座標,展開TITLEBARINFO結構中所述的資訊。 |
UPDATELAYEREDWINDOWINFO | UpdateLayeredWindowIndirect 用來提供分層視窗的位置、大小、圖形、內容和半透明資訊。 |
WINDOWINFO | 包含窗口資訊。 |
WINDOWPLACEMENT | 包含畫面上視窗位置的相關信息。 |
WINDOWPOS | 包含視窗大小和位置的相關信息。 |
視窗常數
名稱 | 描述 |
---|---|
擴充的視窗樣式 | 無論需要擴充窗口樣式,都可以指定樣式。 |
視窗樣式 | 只要需要窗口樣式,都可以指定樣式。 建立控件之後,這些樣式就無法修改,但如所述。 |
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應