DrawFrameControl

The DrawFrameControl function draws a frame control of the specified type and style.

BOOL DrawFrameControl(
  HDC hdc,     // handle to device context
  LPRECT lprc, // pointer to bounding rectangle
  UINT uType,  // frame-control type
  UINT uState  // frame-control state
);
 

Parameters

hdc
Handle to the device context of the window in which to draw the control.
lprc
Pointer to a RECT structure that contains the logical coordinates of the bounding rectangle for frame control.
uType
Specifies the type of frame control to draw. This parameter can be one of the following values.
Value Meaning
DFC_BUTTON Standard button
DFC_CAPTION Title bar
DCF_MENU Menu bar
DFC_POPUPMENU Windows 98, Windows NT 5.0 and later: Popup menu item.
DFC_SCROLL Scroll bar

uState
Specifies the initial state of the frame control. If uType is DFC_BUTTON, uState can be one of the following values.
Value Meaning
DFCS_BUTTON3STATE Three-state button
DFCS_BUTTONCHECK Check box
DFCS_BUTTONPUSH Push button
DFCS_BUTTONRADIO Radio button
DFCS_BUTTONRADIOIMAGE Image for radio button (nonsquare needs image)
DFCS_BUTTONRADIOMASK Mask for radio button (nonsquare needs mask)

If uType is DFC_CAPTION, uState can be one of the following values.
Value Meaning
DFCS_CAPTIONCLOSE Close button
DFCS_CAPTIONHELP Help button
DFCS_CAPTIONMAX Maximize button
DFCS_CAPTIONMIN Minimize button
DFCS_CAPTIONRESTORE Restore button

If uType is DFC_MENU, uState can be one of the following values.
Value Meaning
DFCS_MENUARROW Submenu arrow
DFCS_MENUARROWRIGHT Submenu arrow pointing left. This is used for the right-to-left cascading menus used with right-to-left languages such as Arabic or Hebrew.
DFCS_MENUBULLET Bullet
DFCS_MENUCHECK Check mark

If uType is DFC_SCROLL, uState can be one of the following values.
Value Meaning
DFCS_SCROLLCOMBOBOX Combo box scroll bar
DFCS_SCROLLDOWN Down arrow of scroll bar
DFCS_SCROLLLEFT Left arrow of scroll bar
DFCS_SCROLLRIGHT Right arrow of scroll bar
DFCS_SCROLLSIZEGRIP Size grip in bottom-right corner of window
DFCS_SCROLLSIZEGRIPRIGHT Size grip in bottom-left corner of window. This is used with right-to-left languages such as Arabic or Hebrew.
DFCS_SCROLLUP Up arrow of scroll bar

The following style can be used to adjust the bounding rectangle of the push button.
Value Meaning
DFCS_ADJUSTRECT 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.
Value Meaning
DFCS_CHECKED Button is checked.
DFCS_FLAT Button has a flat border.
DFCS_HOT Windows 98, Windows NT 5.0 and later: Button is hot-tracked.
DFCS_INACTIVE Button is inactive (grayed).
DFCS_MONO Button has a monochrome border.
DFCS_PUSHED Button is pushed.
DFCS_TRANSPARENT Windows 98, Windows NT 5.0 and later: The background remains untouched.

Return Values

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero.

Windows NT: To get extended error information, call GetLastError.

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.

Windows CE: Windows CE does not support the DCF_MENU value in the uType parameter. It only supports DFC_BUTTON, DFC_SCROLL, and DFC_CAPTION.

If uType is DFC_BUTTON, uState can be one of the following values.

DFCS_BUTTON3STATE

DFCS_BUTTONCHECK

DFCS_BUTTONPUSH

DFCS_BUTTONRADIO

DFCS_CAPTIONOKBTN

The DFCS_CAPTIONOKBTN value is a new constant that is unique to Windows CE.

If uType is DFC_CAPTION, uState can be one of the following values:

DFCS_CAPTIONHELP

DFCS_CAPTIONCLOSE

If uType is DFC_SCROLL, uState can be one of the following values:

DFCS_SCROLLUP

DFCS_SCROLLDOWN

DFCS_SCROLLLEFT

DFCS_SCROLLRIGHT

DFCS_SCROLLCOMBOBOX

You can use one or more of the following values to set the state of the control:

DFCS_CHECKED

DFCS_INACTIVE

DFCS_PUSHED

QuickInfo

  Windows NT: Requires version 3.51 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in winuser.h.
  Import Library: Use user32.lib.

See Also

Painting and Drawing Overview, Painting and Drawing Functions, RECT