一般控件參考

本節包含適用於多個控件之程序設計元素的參考資訊,而不只是套用至特定控件。 大部分控制項都支援函式、宏、訊息、通知和結構。 例如,大部分的控件都會 使用NM_HOVER 通知來處理滑鼠點選。

概觀

主題 目錄
關於通用控制件 通用控制項是一組由通用控制項連結庫實作的視窗,這是 Windows 作業系統隨附的 DLL。
一般控件常見問題 此常見問題提供一些常見控件常見問題的解答。

函式

主題 目錄
DoReaderMode 在視窗中啟用讀取器模式。
DPA_Clone 複製動態指標陣列 (DPA)。
DPA_Create 建立 DPA。
DPA_CreateEx 使用指定的大小和堆積位置建立 DPA。
DPA_DeleteAllPtrs 從 DPA 移除所有專案,並據以壓縮 DPA。
DPA_DeletePtr 從 DPA 移除專案。 如有必要,DPA 會壓縮以容納已移除的專案。
DPA_Destroy 釋放動態指標陣列 (DPA)。
DPA_DestroyCallback 在 DPA 的每個元素上呼叫 pfnCB ,然後釋放 DPA。
DPA_EnumCallback 逐一查看動態指標陣列 (DPA),並在每個專案上呼叫 pfnCB
DPA_GetPtr 從 DPA 取得專案。
DPA_GetPtrIndex 取得在 DPA 中找到之相符專案的索引。
DPA_GetSize 取得 DPA 的大小。
DPA_Grow 變更 DPA 中的指標數目。
DPA_InsertPtr 在 DPA 中指定的位置插入新專案。 如有必要,DPA 會展開以容納新專案。
DPA_LoadStream 從數據流載入 DPA,方法是呼叫指定的回呼函式來讀取每個專案。
DPA_Merge 結合兩個 DPA 的內容。
DPA_SaveStream 藉由寫出標頭,然後呼叫指定的回呼函式來寫入每個專案,將 DPA 儲存至數據流。
DPA_Search 在 DPA 中尋找專案。
DPA_SetPtr 將值指派給 DPA 中的專案。
DPA_Sort 排序動態指標陣列 (DPA) 中的專案。
DrawShadowText 繪製具有陰影的文字。
DrawTextExPrivWrap 在指定的矩形中繪製格式化的文字。 此函式會包裝對 DrawTextEx呼叫。
DrawTextWrap 在指定的矩形中繪製格式化的文字。 它會根據指定的方法格式化文字(展開索引標籤、對齊字元、斷行等等)。 此函式會包裝對 DrawText呼叫。
DSA_Clone 複製動態結構陣列 (DSA)。
DSA_Create 建立 DSA。
DSA_DeleteAllItems 從 DSA 刪除所有專案。
DSA_DeleteItem 從 DSA 刪除專案。
DSA_Destroy 釋放 DSA。
DSA_DestroyCallback 逐一查看 DSA,在每個專案上呼叫指定的回呼函式。 到達陣組結尾時,會釋放 DSA。
DSA_EnumCallback 逐一查看 DSA,並在每個專案上呼叫 pfnCB
DSA_GetItem 從 DSA 取得專案。
DSA_GetItemPtr 從 DSA 取得專案的指標。
DSA_GetSize 取得 DSA 的大小。
DSA_InsertItem 將新專案插入 DSA。 如有必要,DSA 會展開以容納新專案。
DSA_SetItem 設定 DSA 中項目的內容。
DSA_Sort 排序 DSA 中的專案。
ExtTextOutWrap 使用目前選取的字型、背景色彩和文字色彩繪製文字。 您可以選擇性地提供用於裁剪、不透明度或兩者的維度。 此函式會包裝對 ExtTextOut呼叫。
GetEffectiveClientRect 計算包含所有指定控制件之工作區中矩形的維度。
GetMUILanguage 取得特定進程的通用控制項目前使用的語言。
GetTextExtentPoint32Wrap 計算指定之文字字串的寬度和高度。 此函式會包裝對 GetTextExtentPoint 的呼叫。
InitCommonControls 註冊並初始化特定通用控制項窗口類別。 此函式已過時。 新的應用程式應該使用 InitCommonControlsEx 函式。
InitCommonControlsEx 從通用控件 DLL 註冊特定的通用控件類別。
InitMUILanguage 可讓應用程式指定與系統語言不同的通用控制項使用的語言。
LoadIconMetric 使用用戶端指定的系統計量載入指定的圖示資源。
LoadIconWithScaleDown 載入圖示。 如果圖示不是標準大小,此函式會縮小較大的影像,而不是相應增加較小的影像。
MirrorIcon 反轉 (鏡像) 圖示,使其在鏡像裝置內容上正確顯示。
PFNDACOMPARE 定義DSA_Sort使用之比較函式的原型。
PFNDACOMPARECONST 定義比較專案為常數物件時,DSA_Sort所使用的比較函式原型。
PFNDAENUMCALLBACK 定義 DSA 和 DPA 函式所使用的回呼函式原型。
PFNDAENUMCALLBACKCONST 當涉及的專案是常數數據的指標時,定義 DSA 和 DPA 函式所使用的回呼函式原型。
PFNDPACOMPARE 定義DPA_SortDPA_Search所使用的比較函式原型。
PFNDPACOMPARECONST 定義比較專案為常數物件時,DPA_SortDPA_Search所使用的比較函式原型。
PFNDPAENUMCALLBACK 定義DPA_EnumCallback所使用的 回呼函式原型。
PFNDPAMERGE 定義DPA_Merge使用之合併函式的原型。
PFNDPAMERGECONST 使用常數值,定義DPA_Merge所 使用之合併函式的原型。
PFNDPASTREAM 定義DPA_LoadStream和DPA_SaveStream所使用的回呼函式原型。
PFNDSAENUMCALLBACK 定義DSA_DestroyCallback所使用的回呼函式原型。
ReaderScroll 當滑鼠指標在已宣告為使用中捲動區域的讀取器模式視窗部分內移動時,所使用的應用程式定義回呼函式。
ShowHideMenuCtl 設定或移除指定的功能表項複選標記屬性,並顯示或隱藏對應的控件。 函式會在沒有複選標記時,將複選標記新增至指定的功能表項,然後顯示對應的控件。 如果功能表項已經有複選標記,函式會移除複選標記並隱藏對應的控件。
Str_GetPtr 將字串從一個緩衝區複製到另一個緩衝區。
Str_SetPtrW 視需要將 ppszCurrent 設定為 pszNew複本,並釋放先前的值。
TranslateDispatch DoReaderMode 函式的用戶端用來攔截並明確處理針對讀取器模式視窗捲動區域的任何視窗訊息。 這是應用程式定義的回呼函式。

巨集

主題 目錄
DPA_AppendPtr 在 DPA 結尾插入新專案。
DPA_FastDeleteLastPtr 從 DPA 刪除最後一個指標。
DPA_FastGetPtr 取得 DPA 中指定指標的值。
DPA_GetPtrCount 取得 DPA 中的指標數目。
DPA_GetPtrPtr 取得 DPA 內部指標陣列的指標。
DPA_SetPtrCount 設定 DPA 中的指標數目。
DPA_SortedInsertPtr 在指定的現有專案之前或之後插入新專案。
DSA_AppendItem 將新專案附加至 DSA 的結尾。
DSA_GetItemCount 取得 DSA 中的項目數。
FORWARD_WM_NOTIFY 傳送或張貼 WM_NOTIFY 訊息。
HANDLE_WM_NOTIFY 呼叫處理WM_NOTIFY訊息的函式
INDEXTOSTATEIMAGEMASK 準備狀態影像的索引,讓樹視圖控件或清單檢視控件可以使用索引來擷取專案的狀態影像。

訊息

主題 目錄
CCM_DPISCALE 啟用樹檢視控件、清單檢視控件、ComboBoxEx 控件標題控件、按鈕、工具列控件動畫控件影像清單的自動高點縮放比例。
CCM_GETUNICODEFORMAT 取得控制的 Unicode 字元格式旗標。
CCM_GETVERSION 取得由最新 CCM_SETVERSION 訊息所設定之控件的版本號碼。
CCM_SETUNICODEFORMAT 設定控件的 Unicode 字元格式旗標。 此訊息可讓您在運行時間變更控件所使用的字元集,而不需要重新建立控件。
CCM_SETVERSION 此訊息用來通知控件您預期與特定版本相關聯的行為。
CCM_SETWINDOWTHEME 設定控制件的視覺化樣式。
WM_NOTIFY 發生事件或控件需要一些資訊時,由通用控件傳送至其父視窗。
WM_NOTIFYFORMAT 判斷視窗是否接受WM_NOTIFY通知訊息中的 ANSI 或 Unicode 結構。 WM_NOTIFYFORMAT訊息會從通用控件傳送至其父視窗,以及從父視窗傳送至通用控制件。

Notifications

主題 目錄
NM_CHAR 處理字元索引鍵時,控件 會傳送NM_CHAR 通知碼。 此通知碼會以WM_NOTIFY訊息的形式傳送。
NM_CUSTOMDRAW 通知控件的父視窗自定義繪圖作業。 此通知碼會以WM_NOTIFY訊息的形式傳送。
NM_CUSTOMTEXT 通知控件的父視窗自定義文字作業。 此通知碼會以WM_NOTIFY訊息的形式傳送。
NM_FONTCHANGED 當控件變更字型時,由清單檢視控件傳送。 此通知碼會以WM_NOTIFY訊息的形式傳送。
NM_GETCUSTOMSPLITRECT 由按鈕控制項傳送至其父系,以取得組成分割按鈕之兩個矩形的度量。 此通知碼會以WM_NOTIFY訊息的形式傳送。
NM_HOVER 當滑鼠停留在專案上時,由控件傳送。 此通知碼會以WM_NOTIFY訊息的形式傳送。
NM_KEYDOWN 當控件具有鍵盤焦點,且使用者按下按鍵時,由控件傳送。 此通知碼會以WM_NOTIFY訊息的形式傳送。
NM_KILLFOCUS 通知控件的父視窗控制件已失去輸入焦點。 此通知碼會以WM_NOTIFY訊息的形式傳送。
NM_LDOWN 通知控件的父視窗已按下滑鼠左鍵。 此通知碼會以WM_NOTIFY訊息的形式傳送。
NM_NCHITTEST 當控件收到 WM_NCHITTEST 訊息時,由 Rebar 控件傳送。 此通知碼會以WM_NOTIFY訊息的形式傳送。
NM_OUTOFMEMORY 通知控制件的父視窗,因為沒有足夠的記憶體可用,所以控件無法完成作業。 此通知碼會以WM_NOTIFY訊息的形式傳送。
NM_RDOWN 目前不支援。
NM_RELEASEDCAPTURE 通知控件的父視窗,控件正在釋放滑鼠擷取。 此通知碼會以WM_NOTIFY訊息的形式傳送。
NM_RETURN 通知控制件的父視窗控制件具有輸入焦點,且使用者已按下 ENTER 鍵。 此通知碼會以WM_NOTIFY訊息的形式傳送。
NM_SETCURSOR 通知控制件的父視窗,控制項正在設定游標以回應 NM_SETCURSOR 訊息。 此通知碼會以WM_NOTIFY訊息的形式傳送。
NM_SETFOCUS 通知控件的父視窗控制項已接收輸入焦點。 此通知碼會以WM_NOTIFY訊息的形式傳送。
NM_THEMECHANGED 通知控件的父視窗主題已變更。 此通知碼會以WM_NOTIFY訊息的形式傳送。
NM_TOOLTIPSCREATED 通知控制件的父視窗,控制項已建立工具提示控制件。 此通知碼會以WM_NOTIFY訊息的形式傳送。
NM_TVSTATEIMAGECHANGING 由樹檢視控件傳送至其狀態影像正在變更的父視窗。 此通知碼會以WM_NOTIFY訊息的形式傳送。

結構

主題 目錄
COLORSCHEME 包含工具列或 Rebar 中按鈕繪圖的資訊。
DPASTREAMINFO 包含 PFNDPASTREAM 回呼函式所使用的數據流專案。
INITCOMMONCONTROLSEX 攜帶用來從動態連結庫 (DLL) 載入通用控件類別的資訊。 此結構會與 InitCommonControlsEx 函式搭配使用。
NMCHAR 包含與字元通知訊息搭配使用的資訊。
NMCUSTOMSPLITRECTINFO 包含分割按鈕之兩個矩形的相關信息。 使用 NM_GETCUSTOMSPLITRECT 通知傳送。
NMCUSTOMTEXT 包含與自定義文字通知搭配使用的資訊。
NMHDR 包含通知訊息的相關信息。
NMKEY 包含與金鑰通知訊息搭配使用的資訊。
NMMOUSE 包含與滑鼠通知訊息搭配使用的資訊。
NMOBJECTNOTIFY 包含與TBN_GETOBJECTTCN_GETOBJECTPSN_GETOBJECT通知碼搭配使用的資訊。
NMTOOLTIPSCREATED 包含與NM_TOOLTIPSCREATED通知程式代碼搭配使用的資訊。
READERMODEINFO 包含初始化 DoReaderMode 函式所需的資訊。

常數

主題 目錄
CDRF 常數 這些常數是控件用來作為傳回值,以回應 NM_CUSTOMDRAW 通知程序代碼。
樣式 本節列出常見的控件樣式。 除非有說明,這些樣式會套用至標頭控件、工具列控件和狀態視窗。
窗口類別 本節列出通用控件連結庫所提供的窗口類別名稱。