常规控制参考

本部分包含有关应用于多个控件的编程元素的参考信息,而不仅仅是应用于特定控件。 大多数控件都支持函数、宏、消息、通知和结构。 例如,大多数控件使用 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 使用的 compare 函数的原型。
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 启用 Tree-View 控件List-View 控件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 消息从公共控件发送到其父窗口,从父窗口发送到公共控件。

通知

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