<Return[G]><Top>

GetTextExtentExPoint

Declare Function Api_GetTextExtentExPoint& Lib "gdi32" Alias "GetTextExtentExPointA" (ByVal hDC&, ByVal lpszStr$, ByVal cchString&, ByVal nMaxExtent&, lpnFit&, alpDx&, lpSize As SIZE)

Declare Function GetTextExtentExPoint Lib "gdi32" Alias "GetTextExtentExPointA" (ByVal hdc As Long, ByVal lpszStr As String, ByVal cchString As Long, ByVal nMaxExtent As Long, lpnFit As Long, alpDx As Long, lpSize As SIZE) As Long

指定された空間に適合する、指定された文字列の文字数を取得し、その各文字に対するテキストエクステントを配列に格納する(テキストエクステントは空間の先頭と、その空間に適合する文字との間の距離である)。この情報はワードラッピングを計算する場合に便利である。

パラメータ
hdc
    デバイスコンテキストのハンドルを指定する。
lpszStr
    エクステントの取得対象となる、NULL で終わる文字列へのポインタを指定する。
cchString
    lpszStr パラメータで示される文字列の文字数を指定する。
    Windows 95/98:この値は 8192 を超えることはできない。
nMaxExtent
    書式設定した文字列の最大許容幅を論理単位で指定する。
lpnFit
    nMaxExtent パラメータで指定した空間に適合する、最大文字数を受け取る整数へのポインタを指定する。lpnFit パラメータが NULL の

    場合、nMaxExtent パラメータは無視される。
alpDx
    部分文字列エクステントを受け取る整数の配列へのポインタを指定する。配列の各要素は、文字列の先頭と、nMaxExtent パラメータで

    指定した空間に適合する文字のいずれか1つとの距離を論理単位で表す。この配列には少なくとも cchString パラメータで指定した文字数

    と同じ数の要素があるはずであるが、関数は lpnFit パラメータで指定された数までのエクステントを配列に格納する。alpDx パラメータが

    NULL の場合、関数は部分文字列の幅を計算しない。
lpSize
    関数が戻るときに文字列のサイズが入る、SIZE 構造体へのポインタを論理単位で指定する。この値には NULL を指定することができる。

戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。
    Windows NT/2000:拡張エラー情報を取得するには、GetLastError 関数を使う。

解説
    lpnFit パラメータおよび alpDx パラメータが両方とも NULL の場合、GetTextExtentExPoint 関数の呼び出しは、GetTextExtentPoint

    関数の呼び出しと同じ意味になる。
    GetTextExtentExPoint 関数の ANSI 版では、lpDx 配列には lpString パラメータのバイト数と同じ数の INT 値が入る。DBCS 文字の 2

    バイトに対応する INT 値はそれぞれが合成文字全体のエクステントである。GetTextExtentExPoint 関数の alpDx パラメータの値は、

    ExtTextOut 関数の lpDx パラメータの値と同じではないので注意が必要である。lpDx パラメータで alpDx パラメータの値を使うには、最初

    に処理を行う必要がある。