ExtTextOut |
Declare Function Api_ExtTextOut& Lib "gdi32" Alias "ExtTextOutA" (ByVal hDC&, ByVal X&, ByVal Y&, ByVal wOptions&, ByVal lpRect As Any, ByVal lpString$, ByVal nCount&, lpDx&) |
||||||||||||||||||||||||||||||||||||||||||||||||
Declare Function ExtTextOut Lib "gdi32" Alias "ExtTextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal wOptions As Long, lpRect As Rect, ByVal lpString As String, ByVal nCount As Long, lpDx As Long) As Long |
|||||||||||||||||||||||||||||||||||||||||||||||||
現在選択されているフォント、背景色、および文字の色を使ってテキストを描画する。必要に応じて、クリッピングしたり不透明にするための長方形領域を指定することもできる。 |
|||||||||||||||||||||||||||||||||||||||||||||||||
パラメータ
lprc
このパラメータは省略可能。
必要はない。 たとえば、lpDx[i] の値は、i 番目の文字セルの原点と i+1 番目の文字セルの原点の距離を論理単位で示す。 このパラメータは省略可能。 ただし、ANSI 版の ExtTextOut 関数を ETO_GLYPH_INDEX を指定して呼び出した場合は、関数が何も行わなくても 0 以外の値
(True)が返る。 テキストの配置設定は、GetTextAlign 関数を呼び出すことにより取得できる。
テキストの配置設定を変更するには、SetTextAlign 関数を呼び出す。 文字セルの原点と lpDx パラメータで指定した配列に格納する値は、論理単位で指定する。 文字セルの原点とは、文字セルの左上の隅である。既定では、この関数がカレントポジションを使用し、更新することはない。 ExtTextOut 関数を呼び出したときにカレントポジションが更新されるようにするには、対象となるデバイスコンテキストを指定し、 nMode パラメータに TA_UPDATECP をセットして SetTextAlign 関数を呼び出す。このフラグをセットすると、
以降の ExtTextOut 関数では X パラメータと Y パラメータは無視されるようになる。 同じ数だけの INT 値を格納しておく。 DBCS 文字については、lpDx パラメータに指定する配列内の dx を先頭バイトと末尾バイトに分けることができる。 2 つのバイトの合計が目的の dx になってさえいれば、どのような分け方でもかまわない。
Unicode 版の ExtTextOut 関数での DBCS 文字については、各 Unicode グリフが 1 つの pdx エントリを受け取る。 alpDx 値を lpDx パラメータに使う場合には、まず適切な処理を施さなければならない。 |