DrawFrameControl 函数 (winuser.h)
DrawFrameControl 函数绘制指定类型和样式的帧控件。
语法
BOOL DrawFrameControl(
[in] HDC hdc,
[in] LPRECT lprc,
[in] UINT uType,
[in] UINT uState
);
参数
[in] hdc
要在其中绘制控件的窗口的设备上下文的句柄。
[in] lprc
指向 RECT 结构的指针,该结构包含框架控件的边框的逻辑坐标。
[in] uType
要绘制的帧控件的类型。 此参数的取值可为下列值之一:
值 | 含义 |
---|---|
|
“标准”按钮 |
|
标题栏 |
|
菜单栏 |
|
弹出菜单项。 |
|
滚动条 |
[in] uState
帧控件的初始状态。 如果 uType 为DFC_BUTTON, 则 uState 可以是以下值之一。
值 | 含义 |
---|---|
|
三态按钮 |
|
复选框 |
|
下压按钮 |
|
单选按钮 |
|
单选按钮的图像(非正方形需要图像) |
|
单选按钮的掩码(非正方形需要掩码) |
如果 uType 为DFC_CAPTION, 则 uState 可以是以下值之一。
值 | 含义 |
---|---|
|
“关闭 ”按钮 |
|
“帮助 ”按钮 |
|
“最大化 ”按钮 |
|
最小化 按钮 |
|
“还原” 按钮 |
如果 uType DFC_MENU, 则 uState 可以是以下值之一。
值 | 含义 |
---|---|
|
子菜单箭头 |
|
向左方向的子菜单箭头。 这用于从右到左语言(如阿拉伯语或希伯来语)使用的从右到左级联菜单。 |
|
子弹 |
|
选中标记 |
如果 uType 为DFC_SCROLL, 则 uState 可以是以下值之一。
以下样式可用于调整按钮的边框。
值 | 含义 |
---|---|
|
调整边框以排除按钮的周围边缘。 |
以下一个或多个值可用于设置要绘制的控件的状态。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。
注解
如果 uType 为DFC_MENU或DFC_BUTTON且 uState 未DFCS_BUTTONPUSH,则帧控件为黑白蒙板 (即白色背景上的黑色框架控件) 。 在这种情况下,应用程序必须将句柄传递给位图内存设备控件。 然后,应用程序可以使用关联的位图作为 MaskBlt 函数的 hbmMask 参数,或者可以使用 RP(如 SRCAND 和 SRCINVERT)将设备上下文用作 BitBlt 函数的参数。
DPI 虚拟化
此 API 不参与 DPI 虚拟化。 给定的输入始终以物理像素为单位,与调用上下文无关。要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h (包括 Windows.h) |
Library | User32.lib |
DLL | User32.dll |
API 集 | ext-ms-win-ntuser-draw-l1-1-2 (在 Windows 10 版本 10.0.10240 中引入) |