次の方法で共有


CDC::ExtTextOut

更新 : 2007 年 11 月

現在選択されているフォントを使って四角形領域内に文字列を書き込みます。

virtual BOOL ExtTextOut(
   int x,
   int y,
   UINT nOptions,
   LPCRECT lpRect,
   LPCTSTR lpszString,
   UINT nCount,
   LPINT lpDxWidths 
);
BOOL ExtTextOut(
   int x,
   int y,
   UINT nOptions,
   LPCRECT lpRect,
   const CString& str,
   LPINT lpDxWidths 
);

パラメータ

  • x
    指定文字列の先頭文字の文字セルの論理 x 座標。

  • y
    指定文字列の先頭文字の文字セルの論理 y 座標。

  • nOptions
    四角形の種類。次の値のいずれか 1 つ、両方、またはどちらも指定しない、のどれかです。

    • ETO_CLIPPED   テキストが四角形でクリップされます。

    • ETO_OPAQUE   現在の背景色で四角形が塗りつぶされます。現在の背景色は、SetBkColor メンバ関数を使って設定でき、GetBkColor メンバ関数を使って取得できます。

  • lpRect
    四角形の大きさを決定する RECT 構造体へのポインタ。このパラメータには、NULL を指定できます。このパラメータには、CRect オブジェクトを渡すこともできます。

  • lpszString
    描画される指定文字列へのポインタ。このパラメータには、CString オブジェクトを渡すこともできます。

  • nCount
    文字列内の文字数を指定します。

  • lpDxWidths
    隣接する文字セルの原点間の距離を示す値の配列のポインタ。たとえば、論理単位 lpDxWidths[i] は、i 番目の文字セルと i + 1 番目の文字セルの原点間の距離を示します。lpDxWidths に NULL を指定したときは、ExtTextOut 関数は文字間に既定の空間をとります。

  • str
    描画される指定文字列を持つ CString オブジェクト。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

現在の背景色で塗りつぶすことで、四角形領域を不透明にできます。さらに、クリップ領域にもできます。

nOptions が 0 で lpRect が NULL のときは、関数は四角形の領域を使わずにデバイス コンテキストにテキストを書き込みます。既定では、この関数は現在位置を参照したり、更新したりしません。アプリケーションで ExtTextOut 関数を呼び出したときに現在位置を更新する場合は、アプリケーションでパラメータ nFlags に TA_UPDATECP を設定して CDC メンバ関数の SetTextAlign 関数を呼び出します。このフラグが設定されると、Windows はこれ以降の ExtTextOut 関数の呼び出しではパラメータ xy を無視し、代わりに現在位置を使います。アプリケーションが現在位置を更新するために TA_UPDATECP を使ったときは、ExtTextOut 関数は現在位置を、テキストの直前の行の最後の位置、または lpDxWidths で示される配列の最後の要素が指す位置のうちいずれか大きい方に設定します。

必要条件

ヘッダー : afxwin.h

参照

参照

CDC クラス

階層図

CDC::SetTextAlign

CDC::TabbedTextOut

CDC::TextOut

CDC::GetBkColor

CDC::SetBkColor

CDC::SetTextColor

ExtTextOut

RECT 構造体

その他の技術情報

CDC のメンバ