文字を右揃えにする方法ってないでしょうか?

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

文字を右揃えにする方法ってないでしょうか?

#1

投稿記事 by » 15年前

例えば、これとかは
DrawFormatString(x, y,color[0],"%.1fFPS",1000/ave);
左揃えになってます。
どうしたら良いのでしょうか?

non

Re:文字を右揃えにする方法ってないでしょうか?

#2

投稿記事 by non » 15年前

%5.1 のように全体の桁数を指定する方法ではだめですか。

やっくん

Re:文字を右揃えにする方法ってないでしょうか?

#3

投稿記事 by やっくん » 15年前

文字列から文字数とフォントサイズを割り出し、
たとえば
文字数×フォントサイズを揃えたい位置から引いてあげたものをX座標に入れるとかではだめでしょうか?
フォントのサイズは指定したドット数に大体比例するようですし。

御津凪

Re:文字を右揃えにする方法ってないでしょうか?

#4

投稿記事 by 御津凪 » 15年前

> 文字数×フォントサイズ

その計算法は、固定幅フォントで、かつ描画する文字列が半角文字のみ、あるいは全角文字のみでないと正しく計算できません。

DX ライブラリには文字列幅を計算する関数 GetDrawStringWidth や GetDrawFormatStringWidth がありますので、
それらの関数を使って計算した方が正確です。


しかし、今回程度のものなら、それらを使って計算する方法より、
non さんのように右揃えになるように書式指定をした方が楽かと思います。

閉鎖

“C言語何でも質問掲示板” へ戻る