GrayStringW

GrayString 関数は指定位置にグレーのテキストを描画する。(Unicode)

GrayStringW hDC, hBrush, lpOutputFunc, lpData, nCount, X, Y, nWidth, nHeight

hDC : [intptr] デバイスコンテキストへのハンドル。
hBrush : [intptr] グレー化に用いるブラシへのハンドル。NULL の場合、ウィンドウテキストの描画に使われるのと同じブラシでテキストがグレー化される。
lpOutputFunc : [int] 文字列を描画するアプリケーション定義関数へのポインタ。文字列の描画に TextOut を使う場合は NULL ポインタを指定する。詳細は OutputProc コールバック関数を参照。
lpData : [intptr] 出力関数に渡すデータへのポインタ。lpOutputFunc が NULL の場合、lpData は出力する文字列へのポインタでなければならない。
nCount : [int] 出力する文字数。nCount が 0 の場合、GrayString は文字列長を計算する(lpData が文字列へのポインタであるとみなす)。nCount が 1 で lpOutputFunc が指す関数が FALSE を返す場合、イメージは表示されるがグレー化されない。
X : [int] 文字列を囲む矩形の開始位置のデバイス x 座標。
Y : [int] 文字列を囲む矩形の開始位置のデバイス y 座標。
nWidth : [int] 文字列を囲む矩形の幅(デバイス単位)。0 の場合、GrayString は領域の幅を計算する(lpData が文字列へのポインタであるとみなす)。
nHeight : [int] 文字列を囲む矩形の高さ(デバイス単位)。0 の場合、GrayString は領域の高さを計算する(lpData が文字列へのポインタであるとみなす)。

(プラグイン / モジュール : user32.dll)

解説

GrayString 関数は指定位置にグレーのテキストを描画する。(Unicode)

[戻り値]
文字列が描画された場合、戻り値は非ゼロである。TextOut
関数またはアプリケーション定義の出力関数がゼロを返した場合、あるいはグレー化用のメモリビットマップ作成に十分なメモリが無かった場合、戻り値はゼロである。

[備考]
GrayString
を呼び出すまでもなく、アプリケーションはソリッドグレー色をサポートするデバイス上でグレー化された文字列を描画できる。システム色
COLOR_GRAYTEXT は、無効テキストを描くのに使われるソリッドグレーのシステム色である。アプリケーションは
GetSysColor で COLOR_GRAYTEXT の色値を取得できる。色がゼロ(黒)以外なら SetTextColor
でその色に設定し、文字列を直接描画できる。取得した色が黒の場合、GrayString を呼び出してテキストをグレー化する必要がある。
> [!NOTE] > winuser.h ヘッダは GrayString を、UNICODE プリプロセッサ定数の定義に応じて ANSI
版と Unicode
版を自動選択するエイリアスとして定義する。エンコーディングに依存するコードと、エンコーディング中立なエイリアスの混在は、コンパイルエラーや実行時エラーの原因となる。詳しくは
[Conventions for Function
Prototypes](/windows/win32/intl/conventions-for-function-prototypes)
を参照。

情報

プラグイン / モジュールuser32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の user32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_user32_gen2.hs