DrawFrameControl function (winuser.h)
The DrawFrameControl function draws a frame control of the specified type and style.
Syntax
BOOL DrawFrameControl(
[in] HDC hdc,
[in] LPRECT lprc,
[in] UINT uType,
[in] UINT uState
);
Parameters
[in] hdc
A handle to the device context of the window in which to draw the control.
[in] lprc
A pointer to a RECT structure that contains the logical coordinates of the bounding rectangle for frame control.
[in] uType
The type of frame control to draw. This parameter can be one of the following values.
Value | Meaning |
---|---|
|
Standard button |
|
Title bar |
|
Menu bar |
|
Popup menu item. |
|
Scroll bar |
[in] uState
The initial state of the frame control. If uType is DFC_BUTTON, uState can be one of the following values.
If uType is DFC_CAPTION, uState can be one of the following values.
Value | Meaning |
---|---|
|
Close button |
|
Help button |
|
Maximize button |
|
Minimize button |
|
Restore button |
If uType is DFC_MENU, uState can be one of the following values.
If uType is DFC_SCROLL, uState can be one of the following values.
The following style can be used to adjust the bounding rectangle of the push button.
Value | Meaning |
---|---|
|
Bounding rectangle is adjusted to exclude the surrounding edge of the push button. |
One or more of the following values can be used to set the state of the control to be drawn.
Return value
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero.
Remarks
If uType is either DFC_MENU or DFC_BUTTON and uState is not DFCS_BUTTONPUSH, the frame control is a black-on-white mask (that is, a black frame control on a white background). In such cases, the application must pass a handle to a bitmap memory device control. The application can then use the associated bitmap as the hbmMask parameter to the MaskBlt function, or it can use the device context as a parameter to the BitBlt function using ROPs such as SRCAND and SRCINVERT.
DPI Virtualization
This API does not participate in DPI virtualization. The input given is always in terms of physical pixels, and is not related to the calling context.Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only] |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | winuser.h (include Windows.h) |
Library | User32.lib |
DLL | User32.dll |
API set | ext-ms-win-ntuser-draw-l1-1-2 (introduced in Windows 10, version 10.0.10240) |