DrawThemeEdge function (uxtheme.h)

Draws one or more edges defined by the visual style of a rectangle.

Syntax

HRESULT DrawThemeEdge(
  [in]  HTHEME  hTheme,
  [in]  HDC     hdc,
  [in]  int     iPartId,
  [in]  int     iStateId,
  [in]  LPCRECT pDestRect,
  [in]  UINT    uEdge,
  [in]  UINT    uFlags,
  [out] LPRECT  pContentRect
);

Parameters

[in] hTheme

Type: HTHEME

Handle to a window's specified theme data. Use OpenThemeData to create an HTHEME.

[in] hdc

Type: HDC

HDC.

[in] iPartId

Type: int

Value of type int that specifies the part that contains the rectangle. See Parts and States.

[in] iStateId

Type: int

Value of type int that specifies the state of the part. See Parts and States.

[in] pDestRect

Type: LPCRECT

Pointer to a RECT structure that contains, in logical coordinates, the rectangle.

[in] uEdge

Type: UINT

UINT that specifies the type of inner and outer edges to draw. This parameter must be a combination of one inner-border flag and one outer-border flag, or one of the combination flags. The border flags are:

Value Meaning
BDR_RAISEDINNER
Raised inner edge
BDR_SUNKENINNER
Sunken inner edge
BDR_RAISEDOUTER
Raised outer edge
BDR_SUNKENOUTER
Sunken outer edge
EDGE_BUMP
Combination of BDR_RAISEDOUTER and BDR_SUNKENINNER
EDGE_ETCHED
Combination of BDR_SUNKENOUTER and BDR_RAISEDINNER
EDGE_RAISED
Combination of BDR_RAISEDOUTER and BDR_RAISEDINNER
EDGE_SUNKEN
Combination of BDR_SUNKENOUTER and BDR_SUNKENINNER

[in] uFlags

Type: UINT

UINT that specifies the type of border to draw. This parameter can be a combination of the following values.

Value Meaning
BF_ADJUST
The rectangle pointed to by the pDestRect parameter is shrunk to exclude the edges that were drawn; otherwise the rectangle does not change.
BF_BOTTOM
Bottom of border rectangle.
BF_BOTTOMLEFT
Bottom and left side of border rectangle.
BF_BOTTOMRIGHT
Bottom and right side of border rectangle.
BF_DIAGONAL
Diagonal border.
BF_DIAGONAL_ENDBOTTOMLEFT
Diagonal border. The end point is the lower-left corner of the rectangle; the origin is the upper-right corner.
BF_DIAGONAL_ENDBOTTOMRIGHT
Diagonal border. The end point is the lower-right corner of the rectangle; the origin is the upper-left corner.
BF_DIAGONAL_ENDTOPLEFT
Diagonal border. The end point is the upper-left corner of the rectangle; the origin is the lower-right corner.
BF_DIAGONAL_ENDTOPRIGHT
Diagonal border. The end point is the upper-right corner of the rectangle; the origin is the lower-left corner.
BF_FLAT
Flat border.
BF_LEFT
Left side of border rectangle.
BF_MIDDLE
Interior of the rectangle is to be filled.
BF_MONO
One-dimensional border.
BF_RECT
Entire border rectangle.
BF_RIGHT
Right side of border rectangle.
BF_SOFT
Soft buttons instead of tiles.
BF_TOP
Top of border rectangle.
BF_TOPLEFT
Top and left side of border rectangle.
BF_TOPRIGHT
Top and right side of border rectangle.

[out] pContentRect

Type: LPRECT

Pointer to a RECT structure that contains, in logical coordinates, the rectangle that receives the interior rectangle, if uFlags is set to BF_ADJUST. This parameter may be set to NULL.

Return value

Type: HRESULT

If this function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header uxtheme.h
Library UxTheme.lib
DLL UxTheme.dll

See also

Property Identifiers