TextOutA 関数 (wingdi.h)

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

構文

BOOL TextOutA(
  [in] HDC    hdc,
  [in] int    x,
  [in] int    y,
  [in] LPCSTR 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 を呼び出すたびにシステムが現在の位置を使用および更新できるようにします。 このフラグを設定すると、システムは後続の TextOut 呼び出しで nXStart パラメーターと nYStart パラメーターを無視します。

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


// 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 を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

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

こちらもご覧ください

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

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

GetTextAlign

Selectobject

SetBkColor

SetTextAlign

SetTextColor

TabbedTextOut