ステータスバーの表示を右詰にする方法 – プログラミング – Home

ステータスバーの表示を右詰にする方法
 
通知
すべてクリア

[解決済] ステータスバーの表示を右詰にする方法


May
 May
(@May)
ゲスト
結合: 20年前
投稿: 26
Topic starter  

Windows XP SP2
VC++6.0

SDIベースのアプリケーションの開発をしております。
ステータスバーの表示についてお聞きしたいのですが、
現在使用メモリ量を表示させています。

以下、一部を抜粋しました。

sprintf(tmp_str,%d byte, MEM);
PutStatusBarText(0,tmp_str);

ステータスバーに右詰で表示させたいのですが、
上記の様実装をすると、デフォルト表示が左詰めになってしまいます。
%dの部分に-を表示させたり、試行錯誤していますが
良い方法が見つかりません。。

もし良い方法をご存知の方がおられましたら
ご教授頂けると助かります。
宜しくお願いします。


引用未解決
トピックタグ
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

MFCのステータスバークラスには右詰の機能は無いようです。
ペインにスタティックテキストでも貼り付けてはどうでしょうか。
貼り付けるスタティックテキストもオーナードローが必要かも。

参考:ステータスバーにプログレスバーを表示する例
http://www24.cds.ne.jp/~neg/pro/piyo1/status/prog.html


返信引用
PATIO
(@patio)
Famed Member
結合: 4年前
投稿: 2660
 

ステータスバーのフォントを固定ピッチフォントにして
sprintf(tmp_str,%10d byte, MEM);
見たいな感じでステータスバーの幅に合わせて桁数調整すればいけそうです。
但し、フォントの変更をする必要があるのでそれが駄目となると無理ですね。
プロポーショナルフォントだとホワイトスペースの数で表示位置が動いてしまいます。
その場合はたいちうさんの言われているようにスタティックテキストをするとか、
ステータスバーそのものをオーナードロウすると言う手もあると思います。


返信引用
岡本
 岡本
(@岡本)
ゲスト
結合: 20年前
投稿: 3
 

sprintf(tmp_str,\t\t%d byte, MEM);
では?
(タブ1つで中央、2つで右寄せ)


返信引用
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

できますね。そんなルールがあったとは知りませんでした。
出典を教えていただけませんか?
さっきVC6でソースを追っていた時には、
途中で実行していない行を指すようになってしまったので。


返信引用
岡本
 岡本
(@岡本)
ゲスト
結合: 20年前
投稿: 3
 

タブで変わるということだけ覚えていたので、漁ってみたら

http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/shellcc/platform/commctls/status/status.asp

の「Status Bar Text Operations」にありました。


返信引用
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

参考になりました。有難うございました。
# 自力じゃ絶対探せんわ。


返信引用
PATIO
(@patio)
Famed Member
結合: 4年前
投稿: 2660
 

私も知りませんでした。
感謝、感謝。


返信引用
May
 May
(@May)
ゲスト
結合: 20年前
投稿: 26
Topic starter  

ご連絡遅くなってしまい申し訳ございません。

皆様親切にアドバイス頂き有難うございました。

岡本様がご教授頂いた方法で実現できました!
本当に感謝です。有難うございます。

解決できましたので、終了とさせていただきます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました