常规控件参考

本部分包含有关应用于多个控件(而不仅仅是应用于特定控件)的编程元素的参考信息。 大多数控件都支持函数、宏、消息、通知和结构。 例如,大多数控件使用 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_LoadStreamDPA_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 控件标题控件按钮工具栏控件动画控件图像列表中启用每英寸像素数 (dpi) 缩放。
CCM_GETUNICODEFORMAT 获取控件的 Unicode 字符格式标志。
CCM_GETVERSION 获取由最新 CCM_SETVERSION 消息设置的控件的版本号。
CCM_SETUNICODEFORMAT 设置控件的 Unicode 字符格式标志。 此消息允许在运行时更改控件使用的字符集,而无需重新创建控件。
CCM_SETVERSION 此消息用于通知控件期望与特定版本关联的行为。
CCM_SETWINDOWTHEME 设置控件的视觉样式。
WM_NOTIFY 当事件发生或控件需要一些信息时,由公共控件发送到其父窗口。
WM_NOTIFYFORMAT 确定窗口是否接受 WM_NOTIFY 通知消息中的 ANSI 或 Unicode 结构。 WM_NOTIFYFORMAT 消息从公共控件发送到其父窗口,并从父窗口发送到公共控件。

通知

主题 目录
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 通知代码。
样式 本部分列出公共控件样式。 除非另有说明,否则这些样式适用于标题控件、工具栏控件和状态窗口。
窗口类 本部分列出公共控件库提供的窗口类名称。