CDC::GrayString
淡色表示にする描画は、指定した場所でメモリのビットマップのテキストを書き込み、ビットマップを淡色表示し、表示するビットマップをコピーして (灰色) テキストを表示します。
virtual BOOL GrayString(
CBrush* pBrush,
BOOL ( CALLBACK* lpfnOutput )( HDC, LPARAM, int ),
LPARAM lpData,
int nCount,
int x,
int y,
int nWidth,
int nHeight
);
パラメーター
pBrush
(graying 淡色表示にすること) に使用するブラシを識別します。lpfnOutput
文字列を描画アプリケーションに用意されたコールバック関数プロシージャ インスタンスのアドレスを指定します。詳細については、Windows OutputFunc コールバック関数の説明を参照してください。このパラメーターが nullと、文字列の描画に TextOut Windows の関数を使用して lpData は、出力する文字列へ long ポインターと見なされます。lpData
出力関数に渡されるデータにもポインターを指定します。lpfnOutput が null場合、lpData は、出力する文字列へ long ポインターである必要があります。nCount
出力する文字数を指定します。このパラメーターが 0 の場合、GrayString は、文字列の長さを計算します ( lpData が文字列へのポインターであると仮定します)。nCount が 1 の場合と lpfnOutput が指す関数は 0、イメージを示します。淡色返します。x
文字列を囲む四角形の開始位置の論理的な x 座標を指定します。y
文字列を囲む四角形の開始位置の論理 y 座標を指定します。nWidth
文字列を囲む四角形の幅 (論理単位で) 指定します。nWidth が 0 の場合、GrayString は lpData が文字列へのポインターであることを想定する領域の幅を計算します。nHeight
文字列を囲む四角形の高さを (論理単位で) 指定します。nHeight が 0 の場合、GrayString は lpData が文字列へのポインターであることを想定する領域の高さを計算します。
戻り値
TextOut の関数またはアプリケーションに用意された出力関数が 0 を返す場合は淡色表示にするためのメモリのビットマップを作成する十分なメモリがある場合は文字列が描画されるゼロ以外の場合は 0。
解説
関数は、選択したブラシと背景に関係なくテキストを淡色表示にします。GrayString のメンバー関数は、現在選択されているフォントを使用します。モードをマップする MM_TEXT は、この関数を使用する前に選択する必要があります。
アプリケーションは GrayString のメンバー関数を呼び出さないで実線の灰色表示をサポートするデバイスの淡色表示 (灰色) の文字列を描画できます。システム カラー COLOR_GRAYTEXT は無効のテキストの描画に使用される実線の灰色のシステム カラーがあります。アプリケーションは COLOR_GRAYTEXTの色の値を取得するに GetSysColor Windows の関数を呼び出すことができます。色が 0 以外 (黒) の場合、アプリケーションはテキストの色をカラー値に設定し、文字列を直接描画するに SetTextColor のメンバー関数を呼び出すことができます。取得した色が黒に、アプリケーションは淡色表示 (灰色) テキストを淡色表示にする GrayString を呼び出す必要があります。
lpfnOutput が null場合、GDI は TextOut Windows の関数を使用して、lpData は、出力する文字にもポインターと見なされます。出力される文字は TextOut のメンバー関数で (たとえば、文字列はビットマップとして格納されます) 処理できない場合、アプリケーションは独自の出力関数を指定する必要があります。
また、例外がコールバックの境界を越えてスローできないため、すべてのコールバック関数が Windows ことをに戻す前に Microsoft Foundation の例外をフックする必要があることに注意してください。例外の詳細については、" " [例外]を参照してください。
GrayString に渡されるコールバック関数は、呼び出し規約 __stdcall を使用し、__declspecとエクスポートする必要があります。
フレームワークは、プレビュー モードの場合、GrayString のメンバー関数の呼び出しは TextOut の呼び出しに変換され、コールバック関数は呼び出されません。
必要条件
ヘッダー: afxwin.h