以前、テキスト入力時に###,###,##0型で表示する方法を
教えていただいたものです。
金額表示したものを表示する際、
ラベルで表示される値は右詰めの設定が出来ました。
しかし、テキストで入力された値に対して右詰めになりませんでした。
対処として、左側へ空白を入れてみたのですが、
右詰め表示されているラベルの項目と、テキストの項目では、
位置が若干ずれてしまいます。
なので、他に右詰めにできる方法があれば教えていただきたいです。
>ラベルで表示される値は右詰めの設定が出来ました。
テキストの入力も同じく右詰の設定が出来ます。
エディットボックスのスタイルをリソースエディタで変更して下さい。
または ES_RIGHT スタイルをつけて下さい。
http://yokohama.cool.ne.jp/chokuto/urawaza/prm/ctl_style.html
>テキストの入力も同じく右詰の設定が出来ます。
>エディットボックスのスタイルをリソースエディタで変更して下さい。
>または ES_RIGHT スタイルをつけて下さい。
ご回答ありがとうございます。
すみません、上記の処理を行っても
右詰めにならないのですが。。
環境も、書いたコードもな〜んも書かれてないのに
どうやって答えろと?
返信が遅れて大変申し訳ありません。
環境・現状は以下のとおりです。
------------------------------------------------------
<環境>
OS:Microsoft Windows XP+Service Pack2
開発環境:Microsoft eMbedded VisualC++ 4.0
<設定内容>
Editbox右クリック→プロパティ(Editプロパティ)→
スタイル→テキストの配置→"右端"
<現象>
実行時のみ、Editboxが右詰にならない。
------------------------------------------------------
表示させようとしている文字列が
こんな風になっているってことはないですか?
"1,234,567 "
eVC4.0で拡張スタイル変更してみましたが
正しく表示されました。(エミュですけど)
// m_editはClassWizardでコントロールとして定義
TCHAR* buf1 =_T("1,234,567");
TCHAR* buf2 =_T("1,234,567 ");
// m_edit.SetWindowText(buf1);
m_edit.SetWindowText(buf2);
for(int i=0;buf2[i] != '\0';i++) {
TRACE(_T("%.2x "),buf2[i]);
}
こんな感じでTRACEでも入れて表示しようとしている
文字を確認してみてください。
#デバッグウィンドウを見るとこんな感じで出力されます。
#31 2c 32 33 34 2c 35 36 37 20 20 20 20 20
ご回答ありがとうございます。
右詰にならない原因は、
Editbox右クリック→プロパティ(Editプロパティ)→複数行に、
チェックが付いていなかった為でした。
ご回答して頂いた内容は、今後の参考にさせて頂きます。
どうもありがとうございます。
ご回答ありがとうございます。
右詰にならない原因は、
Editbox右クリック→プロパティ(Editプロパティ)→複数行に、
チェックが付いていなかった為でした。
ご回答して頂いた内容は、今後の参考にさせて頂きます。
どうもありがとうございます。
え、そうかな・・・
どっちでも出来た気がしたけど
明日確認して報告します。
Windows のバージョンによっては ES_RIGHT が有効にならないのがあるようだ。
Windows XP では右寄せになる。Windows NT でも SP3 なら修正されているようだ。
それ以外の Windows 95、98、Me などは複数行のみ ES_RIGHT が有効になるようだ。
参考文献:
http://support.microsoft.com/default.aspx/kb/167118/ja
http://madia.world.coocan.jp/cgi-bin/DelphiBBS/wwwlng.cgi?print+200405/04050070.txt
ツイート | ![]() |