次の方法で共有


TextOutW 関数 (wingdi.h)

TextOut 関数は、現在選択されているフォント、背景色、およびテキストの色を使用して、指定した場所に文字列を書き込みます。

構文

BOOL TextOutW(
  [in] HDC     hdc,
  [in] int     x,
  [in] int     y,
  [in] LPCWSTR lpString,
  [in] int     c
);

パラメーター

[in] hdc

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

[in] x

文字列の配置にシステムが使用する参照ポイントの x 座標 (論理座標)。

[in] y

文字列の配置にシステムが使用する参照ポイントの y 座標 (論理座標)。

[in] lpString

描画する文字列へのポインター。 cchString 文字列の長さを指定するため、文字列は 0 で終わる必要はありません。

[in] c

lpStringが指 文字列の の長さ (文字数)。

戻り値

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

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

備考

参照ポイントの解釈は、現在のテキスト配置モードによって異なります。 アプリケーションは、GetTextAlign 関数を呼び出すことによって、このモードを取得できます。アプリケーションは、SetTextAlign 関数を呼び出すことによって、このモードを変更できます。 テキストの配置には、次の値を使用できます。 水平方向と垂直方向の配置に影響を与えるフラグから選択できるのは 1 つだけです。 さらに、現在の位置を変更する 2 つのフラグのうちの 1 つだけを選択できます。

用語 形容
TA_BASELINE 参照ポイントは、テキストの基準行に配置されます。
TA_BOTTOM 参照ポイントは、外接する四角形の下端にあります。
TA_TOP 参照ポイントは、外接する四角形の上端にあります。
TA_CENTER 基準点は、外接する四角形の中心に水平方向に配置されます。
TA_LEFT 参照ポイントは、外接する四角形の左端にあります。
TA_RIGHT 参照ポイントは、外接する四角形の右端にあります。
TA_NOUPDATECP 現在の位置は、各テキスト出力呼び出しの後に更新されません。 参照ポイントがテキスト出力関数に渡されます。
TA_RTLREADING 中東言語エディションの Windows: テキストは、既定の左から右の順序ではなく、右から左の読み取り順にレイアウトされます。 これは、デバイス コンテキストで選択されているフォントがヘブライ語またはアラビア語である場合にのみ適用されます。
TA_UPDATECP 現在の位置は、各テキスト出力呼び出しの後に更新されます。 現在の位置が参照ポイントとして使用されます。
 

既定では、現在位置はこの関数によって使用または更新されません。 ただし、アプリケーションは、fMode パラメーターをTA_UPDATECPに設定して、SetTextAlign 関数を呼び出して、指定されたデバイス コンテキストに対して TextOut 呼び出すたびに、システムが現在の位置を使用および更新できるようにします。 このフラグを設定すると、システムは nXStart を無視し、後続の TextOut 呼び出しで nYStart パラメーターを します。

TextOut 関数がパス 角かっこ内に配置されると、各文字とその文字ボックスを含む TrueType テキストのパスが生成されます。 生成される領域は、テキスト自体ではなく、文字ボックスからテキストを引いた領域です。 TextOut 関数をパス 角かっこに配置する前に背景モードを透明に設定することで、TrueType テキストのアウトラインで囲まれた領域を取得できます。 この手順を示すサンプル コードを次に示します。


// Obtain the window's client rectangle 
GetClientRect(hwnd, &r);

// THE FIX: by setting the background mode 
// to transparent, the region is the text itself 
// SetBkMode(hdc, TRANSPARENT); 

// Bracket begin a path 
BeginPath(hdc);

// Send some text out into the world 
TCHAR text[ ] = "Defenestration can be hazardous";
TextOut(hdc,r.left,r.top,text, ARRAYSIZE(text));

// Bracket end a path 
EndPath(hdc);

// Derive a region from that path 
SelectClipPath(hdc, RGN_AND);

// This generates the same result as SelectClipPath() 
// SelectClipRgn(hdc, PathToRegion(hdc)); 

// Fill the region with grayness 
FillRect(hdc, &r, GetStockObject(GRAY_BRUSH));

例については、「インストールされているフォントの列挙 」を参照してください。

手記

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

必要条件

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

関連項目

フォント関数とテキスト関数

フォントとテキストの概要

GetTextAlign の

SelectObject を する

SetBkColor

SetTextAlign の

SetTextColor の

TabbedTextOut を する