Windows XP SP2
VC++6.0
SDIベースのアプリケーションの開発をしております。
ステータスバーの表示についてお聞きしたいのですが、
現在使用メモリ量を表示させています。
以下、一部を抜粋しました。
sprintf(tmp_str,%d byte, MEM);
PutStatusBarText(0,tmp_str);
ステータスバーに右詰で表示させたいのですが、
上記の様実装をすると、デフォルト表示が左詰めになってしまいます。
%dの部分に-を表示させたり、試行錯誤していますが
良い方法が見つかりません。。
もし良い方法をご存知の方がおられましたら
ご教授頂けると助かります。
宜しくお願いします。
MFCのステータスバークラスには右詰の機能は無いようです。
ペインにスタティックテキストでも貼り付けてはどうでしょうか。
貼り付けるスタティックテキストもオーナードローが必要かも。
参考:ステータスバーにプログレスバーを表示する例
http://www24.cds.ne.jp/~neg/pro/piyo1/status/prog.html
ステータスバーのフォントを固定ピッチフォントにして
sprintf(tmp_str,%10d byte, MEM);
見たいな感じでステータスバーの幅に合わせて桁数調整すればいけそうです。
但し、フォントの変更をする必要があるのでそれが駄目となると無理ですね。
プロポーショナルフォントだとホワイトスペースの数で表示位置が動いてしまいます。
その場合はたいちうさんの言われているようにスタティックテキストをするとか、
ステータスバーそのものをオーナードロウすると言う手もあると思います。
sprintf(tmp_str,\t\t%d byte, MEM);
では?
(タブ1つで中央、2つで右寄せ)
できますね。そんなルールがあったとは知りませんでした。
出典を教えていただけませんか?
さっきVC6でソースを追っていた時には、
途中で実行していない行を指すようになってしまったので。
タブで変わるということだけ覚えていたので、漁ってみたら
http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/shellcc/platform/commctls/status/status.asp
の「Status Bar Text Operations」にありました。
参考になりました。有難うございました。
# 自力じゃ絶対探せんわ。
私も知りませんでした。
感謝、感謝。
ご連絡遅くなってしまい申し訳ございません。
皆様親切にアドバイス頂き有難うございました。
岡本様がご教授頂いた方法で実現できました!
本当に感謝です。有難うございます。
解決できましたので、終了とさせていただきます。