今まで、GDIで文字を描画するサイズ(文字列の高さと幅の
ピクセルサイズ)を求める際、GetTextExtentPoint32を
使っていましたが、GetTextExtentPoint32では改行は
考慮されずに、高さ・幅とも期待した値が取得できません。
そこで、改行コードでトークン分解し、一番幅のある
文字列行を取得して・・・なんてやっていた訳ですが、
DrawText に DT_CALCRECT を指定して
DrawText(hdcBMP, String, -1, &Rect, DT_CALCRECT);
みたいにコールすると、Stringの文字領域サイズを
改行を考慮して取得できる事を知りました。
hdcBMPには描画されずに、Rectに値だけ返ってきます!!
何て簡単なんだ。無知とは悲しい事でございますね。