次の方法で共有


GrayStringA 関数 (winuser.h)

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

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

構文

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

必要条件

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

関連項目

DrawText の

GetSysColor を する

OutputProc の

描画関数

の描画と描画の概要

SetTextColor の

TabbedTextOut を する

TextOut