2009年05月30日

GDI Win32 API/描画する文字列の高さと幅のピクセルサイズの求め方

今まで、GDIで文字を描画するサイズ(文字列の高さと幅の
ピクセルサイズ)を求める際、GetTextExtentPoint32を
使っていましたが、GetTextExtentPoint32では改行は
考慮されずに、高さ・幅とも期待した値が取得できません。

そこで、改行コードでトークン分解し、一番幅のある
文字列行を取得して・・・なんてやっていた訳ですが、
DrawText に DT_CALCRECT を指定して

DrawText(hdcBMP, String, -1, &Rect, DT_CALCRECT);

みたいにコールすると、Stringの文字領域サイズを
改行を考慮して取得できる事を知りました。
hdcBMPには描画されずに、Rectに値だけ返ってきます!!
何て簡単なんだ。無知とは悲しい事でございますね。
posted by ぽっぽファクトリー at 00:36 | Comment(0) | TrackBack(0) | ソフトウェア開発
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/29459359
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック