• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:同じプログラム内でバックスラッシュと円が混在する)

同じプログラム内でバックスラッシュと円が混在する

このQ&Aのポイント
  • Visual Studio 2008でMFCプログラミングをしています。リモートコマンドを送るソフトで、送信したコマンドをRead Onlyのエディットボックスに表示させています。
  • コマンド終わりの「\r」をCStringで文字として表示させるために「\\r」としています。一応、表示はされているのですが、どうも腑に落ちないので質問しました。
  • しかし、作ったプログラムを実行してみたところ、メインのダイアログではバックスラッシュで表示されているのに、ボタンをクリックして表示したサブのダイアログで同じことをすると円マークで表示されるのです。同じプログラム内でそんなことが起こるものなのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

WindowsのGUIは、コントロールごとに使用フォントを変えられるから、同じウィンドゥ上で、¥と\を混在させる事だって出来ます。 今回は、メインのダイアログは\x5cが\になるフォントがベースフォントになっていて、サブのダイアログは\x5cが¥になるフォントがベースフォントになっているだけ、の話です。 ウィンドゥ上に配置したコントロールは、特に何の指定もしなければ、親ウィンドゥのベースフォントを引き継ぎます。 なので、親ウィンドゥのベースフォントが違っていると、2つのウィンドゥで同じ文字が違うフォントで表示されます。

noname#157696
質問者

お礼

ありがとうございます。ダイアログのプロパティをみたところ、メインダイアログのUse System FontがFalseになっていました! メインだけ他の人が違う環境で作ったものを流用していたことが原因のようです。 Trueにしたら、文字も見やすくなってよかったです。

関連するQ&A