GrayStringW 関数 (winuser.h)

GrayString 関数は、指定した場所に灰色のテキストを描画します。 関数は、テキストをメモリ ビットマップにコピーし、ビットマップを灰色表示し、ビットマップを画面にコピーして描画します。 この関数は、選択したブラシと背景に関係なく、テキストを灰色で表示します。 GrayString は、指定されたデバイス コンテキストで現在選択されているフォントを使用します。

lpOutputFuncparameter が NULL の場合、GDI は TextOut 関数を使用し、lpDataparameter は出力する文字列へのポインターであると見なされます。 出力する文字を TextOut で処理できない場合 (たとえば、文字列はビットマップとして格納されます)、アプリケーションは独自の出力関数を指定する必要があります。

構文

BOOL GrayStringW(
  [in] HDC            hDC,
  [in] HBRUSH         hBrush,
  [in] GRAYSTRINGPROC lpOutputFunc,
  [in] LPARAM         lpData,
  [in] int            nCount,
  [in] int            X,
  [in] int            Y,
  [in] int            nWidth,
  [in] int            nHeight
);

パラメーター

[in] hDC

デバイス コンテキストへのハンドル。

[in] hBrush

灰色表示に使用するブラシのハンドル。 このパラメーターが NULL の場合、テキストはウィンドウ テキストの描画に使用されたものと同じブラシで灰色表示されます。

[in] lpOutputFunc

文字列を描画するアプリケーション定義関数へのポインター、または TextOut を使用して文字列を描画する場合は NULL ポインターです。 詳細については、 OutputProc コールバック関数に関するページを参照してください。

[in] lpData

出力関数に渡されるデータへのポインター。 lpOutputFunc パラメーターが NULL の場合、lpData は出力する文字列へのポインターである必要があります。

[in] nCount

出力する文字数。 nCount パラメーターが 0 の場合、GrayString は文字列の長さを計算します (lpData が文字列へのポインターであると仮定)。 nCount が 1 で、lpOutputFunc が指す関数が FALSE を返す場合、イメージは表示されますが、灰色は表示されません。

[in] X

文字列を囲む四角形の開始位置のデバイス x 座標。

[in] Y

文字列を囲む四角形の開始位置のデバイス y 座標。

[in] nWidth

文字列を囲む四角形の幅 (デバイス単位)。 このパラメーターが 0 の場合、 GrayString は、 lpData が文字列へのポインターであると仮定して、領域の幅を計算します。

[in] nHeight

文字列を囲む四角形の高さ (デバイス単位)。 このパラメーターが 0 の場合、 GrayString は、 lpData が文字列へのポインターであると仮定して、領域の高さを計算します。

戻り値

文字列が描画された場合、戻り値は 0 以外になります。

TextOut 関数またはアプリケーション定義の出力関数のいずれかが 0 を返した場合、または灰色表示用のメモリ ビットマップを作成するためのメモリが不足していた場合、戻り値は 0 になります。

注釈

GrayString を呼び出さないと、アプリケーションは単色の灰色をサポートするデバイスで灰色の文字列を描画できます。 システムカラー COLOR_GRAYTEXTは、無効なテキストを描画するために使用される単色の灰色のシステムカラーです。 アプリケーションは GetSysColor 関数を呼び出して、COLOR_GRAYTEXTの色の値を取得できます。 色が 0 (黒) 以外の場合、アプリケーションは SetTextColor 関数を呼び出してテキストの色を色の値に設定し、文字列を直接描画できます。 取得した色が黒の場合、アプリケーションは GrayString を呼び出してテキストを灰色にする必要があります。

注意

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

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll

こちらもご覧ください

Drawtext

GetSysColor

OutputProc

描画関数と描画関数

描画と描画の概要

SetTextColor

TabbedTextOut

Textout