次の方法で共有


DrawStateW 関数 (winuser.h)

DrawState 関数は、画像を表示し、無効または既定の状態などの状態を示す視覚効果を適用します。

構文

BOOL DrawStateW(
  [in] HDC           hdc,
  [in] HBRUSH        hbrFore,
  [in] DRAWSTATEPROC qfnCallBack,
  [in] LPARAM        lData,
  [in] WPARAM        wData,
  [in] int           x,
  [in] int           y,
  [in] int           cx,
  [in] int           cy,
  [in] UINT          uFlags
);

パラメーター

[in] hdc

描画するデバイス コンテキストへのハンドル。

[in] hbrFore

fuFlags パラメーターで指定された状態がDSS_MONO場合、イメージの描画に使用するブラシのハンドル。 このパラメーターは、他の状態では無視されます。

[in] qfnCallBack

イメージのレンダリングに使用されるアプリケーション定義のコールバック関数へのポインター。 fuFlags のイメージの種類 DST_COMPLEX場合は、このパラメーターが必要です。 これは省略可能であり、イメージの種類がDST_TEXTの場合は NULLできます。 他のすべてのイメージの種類では、このパラメーターは無視されます。 コールバック関数の詳細については、DrawStateProc 関数を参照してください。

[in] lData

イメージに関する情報。 このパラメーターの意味は、イメージの種類によって異なります。

[in] wData

イメージに関する情報。 このパラメーターの意味は、イメージの種類によって異なります。 ただし、DrawStateProc 関数で使用するために拡張されたゼロです。

[in] x

画像を描画する水平方向の位置 (デバイス単位)。

[in] y

画像を描画する垂直方向の位置 (デバイス単位)。

[in] cx

イメージの幅 (デバイス単位)。 このパラメーターは、イメージの種類がDST_COMPLEX場合に必要です。 それ以外の場合は、画像の幅を計算するために 0 を指定できます。

[in] cy

イメージの高さ (デバイス単位)。 このパラメーターは、イメージの種類がDST_COMPLEX場合に必要です。 それ以外の場合は、画像の高さを計算するために 0 を指定できます。

[in] uFlags

イメージの種類と状態。 このパラメーターには、次のいずれかの型値を指定できます。

値 (型) 意味
DST_BITMAP
画像はビットマップです。 lData パラメーターはビットマップ ハンドルです。 ビットマップを既存のデバイス コンテキストにまだ選択できないことに注意してください。
DST_COMPLEX
イメージはアプリケーション定義です。 イメージをレンダリングするために、DrawState は、lpOutputFunc パラメーターで指定されたコールバック関数を呼び出します。
DST_ICON
画像はアイコンです。 lData パラメーターはアイコン ハンドルです。
DST_PREFIXTEXT
画像は、アクセラレータニーモニックを含むテキストです。 DrawState は、アンパサンド (&) プレフィックス文字をディレクティブとして解釈し、次の文字をアンダースコア付けします。 lData パラメーターは文字列へのポインターであり、wData パラメーターは長さを指定します。 wData が 0 の場合、文字列は null で終わる必要があります。
DST_TEXT
画像はテキストです。 lData パラメーターは文字列へのポインターであり、wData パラメーターは長さを指定します。 wData が 0 の場合、文字列は null で終わる必要があります。
 

このパラメーターには、次のいずれかの状態値を指定することもできます。

値 (状態) 意味
DSS_DISABLED
イメージを浮き出しにします。
DSS_HIDEPREFIX
テキスト内のアンパサンド (&) プレフィックス文字を無視するため、後に続く文字には下線は付けなくなります。 これは、DST_PREFIXTEXTで使用する必要があります。
DSS_MONO
hbr パラメーターで指定されたブラシを使用してイメージを描画します。
DSS_NORMAL
イメージを変更せずに描画します。
DSS_PREFIXONLY
アンパサンド (&) プレフィックス文字の後の文字の位置に下線のみを描画します。 文字列内のテキストは描画されません。 これは、DST_PREFIXTEXTで使用する必要があります。
DSS_RIGHT
テキストを右揃えにします。
DSS_UNION
イメージをディザリングします。
 

DSS_NORMALを除くすべての状態では、視覚効果が適用される前にイメージがモノクロに変換されます。

戻り値

関数が成功した場合、戻り値は 0 以外です。

関数が失敗した場合、戻り値は 0 です。

備考

手記

winuser.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして DrawState を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winuser.h (Windows.h を含む)
ライブラリ User32.lib
DLL User32.dll

関連項目

DrawStateProc の

描画関数

の描画と描画の概要