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

描画するフレーム コントロールの種類。 このパラメーターには、次の値のいずれかを指定できます。

意味
DFC_BUTTON
標準のボタン
DFC_CAPTION
タイトル バー
DFC_MENU
メニュー バー
DFC_POPUPMENU
ポップアップ メニュー項目。
DFC_SCROLL
スクロール バー

[in] uState

フレーム コントロールの初期状態。 uType がDFC_BUTTONの場合、uState には次のいずれかの値を指定できます。

意味
DFCS_BUTTON3STATE
[3 状態] ボタン
DFCS_BUTTONCHECK
チェック ボックス
DFCS_BUTTONPUSH
[プッシュ] ボタン
DFCS_BUTTONRADIO
ラジオ ボタン
DFCS_BUTTONRADIOIMAGE
ラジオ ボタンの画像 (非四角にはイメージが必要)
DFCS_BUTTONRADIOMASK
ラジオ ボタンのマスク (非四角にはマスクが必要)
 

uType がDFC_CAPTIONの場合、uState には次のいずれかの値を指定できます。

意味
DFCS_CAPTIONCLOSE
[閉じる] ボタン
DFCS_CAPTIONHELP
[ヘルプ ] ボタン
DFCS_CAPTIONMAX
[最大化 ] ボタン
DFCS_CAPTIONMIN
[最小化] ボタン
DFCS_CAPTIONRESTORE
[復元 ] ボタン
 

uType がDFC_MENUの場合、uState には次のいずれかの値を指定できます。

意味
DFCS_MENUARROW
サブメニュー矢印
DFCS_MENUARROWRIGHT
サブメニューの矢印が左向きです。 これは、アラビア語やヘブライ語などの右から左の言語で使用される右から左へのカスケード メニューに使用されます。
DFCS_MENUBULLET
弾丸
DFCS_MENUCHECK
チェック マーク
 

uType がDFC_SCROLLの場合、uState には次のいずれかの値を指定できます。

意味
DFCS_SCROLLCOMBOBOX
コンボ ボックスのスクロール バー
DFCS_SCROLLDOWN
スクロール バーの下矢印
DFCS_SCROLLLEFT
スクロール バーの左矢印
DFCS_SCROLLRIGHT
スクロール バーの右矢印
DFCS_SCROLLSIZEGRIP
ウィンドウの右下隅にあるサイズ グリップ
DFCS_SCROLLSIZEGRIPRIGHT
ウィンドウの左下隅にあるサイズ グリップ。 これは、アラビア語やヘブライ語などの右から左の言語で使用されます。
DFCS_SCROLLUP
スクロール バーの上矢印
 

次のスタイルを使用して、プッシュ ボタンの外接する四角形を調整できます。

意味
DFCS_ADJUSTRECT
外接する四角形は、プッシュ ボタンの周囲の端を除外するように調整されます。
 

描画するコントロールの状態を設定するには、次の 1 つ以上の値を使用できます。

意味
DFCS_CHECKED
ボタンがオンになっています。
DFCS_FLAT
ボタンにはフラットな境界線があります。
DFCS_HOT
ボタンはホット トラッキングされます。
DFCS_INACTIVE
ボタンが非アクティブ (灰色表示) です。
DFCS_MONO
ボタンにはモノクロの境界線があります。
DFCS_PUSHED
ボタンがプッシュされます。
DFCS_TRANSPARENT
背景は手つかずのままです。 このフラグは、DFCS_MENUARROWUPまたはDFCS_MENUARROWDOWNとのみ組み合わせることができます。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。

注釈

uType が DFC_MENU または DFC_BUTTON で uState がDFCS_BUTTONPUSHされていない場合、フレーム コントロールは白黒マスク (つまり、白い背景の黒いフレーム コントロール) です。 このような場合、アプリケーションはビットマップ メモリ デバイス コントロールにハンドルを渡す必要があります。 その後、関連付けられたビットマップを MaskBlt 関数の hbmMask パラメーターとして使用することも、SRCAND や SRCINVERT などの ROP を使用して 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 で導入)

こちらもご覧ください

描画関数と描画関数

描画と描画の概要

Rect