• ベストアンサー

フォントの変更のしかた

環境はWIN98 VC++6.0 MFCです。 年賀状ソフトを作ろうとしたとたん問題が起きました。 フォントの変更の仕方がわかりません。 本には、字の大きさや色などの変更の仕方はありますが、 フォントの変更の仕方が見つかりません。 クライアント領域に、TextOut()で文字を書きたいのですが、フォントは例えば楷書体にしたいのです。 お分かりの方お教えください。

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

  • ベストアンサー
noname#5537
noname#5537
回答No.2

> どうやら、_T("Times New Roman"));の""内の書き方が > おかしかったようです。 おかしい? あ,Times New Roman は欧文フォントなので日本語の表示は出来ません。失礼。 > どこかに正しい書き方の一覧などないのでしょうか? ワードパッドを起動して,フォント選択コンボボックスからコピペするとか。 ただ, Windows に標準で付属している日本語 TrueType フォントは, "MS ゴシック", "MS 明朝", "MS Pゴシック", "MS P明朝", "MS UI Gothic" ぐらいだと思います。 MS Office とか入れるといろいろインストールされますが。 使えるフォントは環境によって違う,ということに注意してください。 使用するフォントをユーザーが選択できるようにするのが現実的だと思います。 CFontDialog とか使って。使い方はとりあえず自分で調べて下さい。

mk1234
質問者

お礼

>おかしい? >あ,Times New Roman は欧文フォントなので日本語の表示は出来ません。失礼。 あ、違います違います。 おかしいと言ったのは、yoppiiさんの回答ではなく、私が質問するに至った経緯として、例えば、”MS P明朝”と書くべきところを”MSP明朝”という風にスペースを忘れてしまったためにうまく行かなかったということを言いたかったのです。 >ワードパッドを起動して,フォント選択コンボボックスからコピペするとか。 うまく行きましたよ。 ありがとう御座いました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#5537
noname#5537
回答No.1

こんな感じです。 各関数等の意味は MSDN でお調べください。 pDC は CDC へのポインタです。 CFont font, *oldFont; font.CreatePointFont(360, _T("Times New Roman")); oldFont = pDC->SelectObject(&font); pDC->TextOut(0, 0, _T("xyz")); pDC->SelectObject(oldFont);

mk1234
質問者

お礼

回答ありがとうございます。 どうやら、_T("Times New Roman"));の""内の書き方が おかしかったようです。 しかしながら、"MS P明朝"はうまくいきましたが、その他のフォントはどう書くのが正しいのか良くわかりません。 半角や全角、あるいはスペースの有無がまずいと当然のことながらうまくいきません。 どこかに正しい書き方の一覧などないのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 非クライアント領域への描画について

    非クライアント領域に文字を書こうとしました。 以下の(2)では書けますが、(1)では書いてくれません。 CPaintDCはクライアント領域でないとダメなのですか? void CMainFrame::OnPaint() { CPaintDC dc(this); // 描画用のデバイス コンテキスト dc.TextOut(0,0,"こんにちは"); ・・・(1) CDC* pDC = GetWindowDC(); pDC->TextOut(100,0,"こんにちは"); ・・・(2) 環境 WIN98 VC++6.0 MFC

  • ウィンドウのフレームの色変更

    <環境> Win98 VC++6.0 MFC よろしくお願いします。 ダイアログのボタン押し下げにて、新規にウィンドウを作成しています。 新規に作成したウィンドウのクライアント領域の色は、 CPaintDC dc(this); // 描画用のデバイス コンテキスト CRect cr; GetClientRect( &cr); dc.FillSolidRect( cr, RGB( 250, 250, 0)); dc.DrawText( moji,cr, DT_SINGLELINE | DT_VCENTER | DT_CENTER); にて変更することが出来ました。 クライアント領域の外側にあるフレームの色も変更したいのですが、 どのようにすれば実現可能でしょうか? ご存知の方、教えてください。お願いします。

  • MFCで、FTPファイルの属性変更

    MFCで、FTPクライアントを作成しています。 ファイルのアップロードは出来たのですが、属性変更の仕方が分からず 困っています。 どなたか、ご教授ください。 よろしくお願いします。 環境:WinXP+VC6

  • operaでのフォントの変更

    operaでフォントを変更したいのですが 設定やスタイルから変えても適用されません。 cssというものを使えばいいのでしょうか。 例えば、背景色=黒、フォントの色=ピンク、フォントタイプをmsp明朝にする場合で 設定の仕方を教えて下さい。

  • 表示文字のフォントサイズのみ変更

    お世話になっております。 VC2005を使用しております。 ピクチャーに文字を表示したいと思っております。 文字の色変更はSetTextColorで可能ですが、フォントサイズの変更は どのようにすればよいのでしょうか? CFontDialogを使用すると可能だとは思いますが、その他の設定は変更したくないため、使用したくありません。 よろしくお願いします。

  • 掲示板に書き込みする時のフォント変更

    初めて質問させて頂きます。よろしくお願いします。 私はよく売買のサイトを利用するのですが、掲示板に入力の際、フォントの変更(字の大きさ)や色の変更をしたいので教えて頂けないでしょうか。 昨日、こちらの質問を参考に『ツール→インターネットオプション』 から変更して入力してみましたが、私以外の投稿も全てフォントが変わっていました。私の入力した部分のみ変更したいのでご教授下さい。 なにぶん初心者で分かりずらい所もあるかもしれませんが 宜しくお願いいたします。

  • フォントの一部を削除してしまいました

    半年前コントロールパネルから誤ってフォントの一部(楷書体など)を削除してしまいました。しばらくは問題なかったのですが、先日年賀状作成のため久しぶりに筆王を起動し、宛先や住所が90度回転していたことから気付きました。 筆王のトラブルについてはフォントを変更したので解決したのですが、削除したフォントを戻すことは可能でしょうか? 再セットアップしないと駄目ですか? ご指導お願いします。 (Lavie L LL790/FD      Windows XP )

  • ワード2007で、“IMEパッド-手書き”で入力後、その文字のフォント

    ワード2007で、“IMEパッド-手書き”で入力後、その文字のフォントを変更しようにもそれができません。 例えば「罣」という字をデフォルトのフォント「MS明朝」から「HG正楷書体ーPRO」に変更しようとするのですが、できません。 どなたか、解決方法をご存知の方がいらっしゃましたらご教示ください。宜しくお願いします。

  • SDIのクライアント領域に子ウィンドウを生成するには?

    環境 Win98 VC++6.0 MFCにて http://www.kumei.ne.jp/c_lang/sdk/sdk_50.htm ↑のように、SDIにてクライアント領域に子ウィンドウを生成するには、MFCの場合どうすれば良いのでしょうか? いつも質問ばかりで申し訳ありません。 ご存知の方お願いいたします。

  • ボタンの表示の色、フォントを変更したい

    VC++でプログラミングしています。 MFCのダイアログベースのEXEを造っています。 ダイアログにはボタンとエディットボックスを貼り付けています。 私がやりたいのは以下のことです。 ・ボタンの色を設定したい ・ボタン、エディットボックスに表示する文字の色を設定したい ・ボタン、エディットボックスに表示する文字のフォント(サイズ)を設定したい プロパティでサイズ変更すると全体に反映されてしまうので、個々の コントロールについて制御したいと思っています。 ヘルプで調べて、それらしい関数を見つけるのですが使い方がわかりません。 VCを始めたばかりで、クラスの理解がまだ浅いです。。。 関数の説明は理解できても、「じゃあ、コードはどう書くの?」という状態です。 「○○ は ×× のメンバではありません」と、よく怒られてます。。。 識者の方、ご教授願います。 コードがどうなるのか知りたいので、簡単なサンプルコードがあると助かります。 また、質問ではないのですが、「この関数は○○をする」というのではなく、 「○○をするにはこの関数を使う」という様に調べられる、お勧めの書籍、 Webなどがありましたら教えてください。 今後の勉強に役立てたいと思っています。

このQ&Aのポイント
  • DCP-j963nのインクカートリッジ交換で検知されない問題について相談です。
  • Windows10で無線LAN接続している環境で、LC211Yのインクカートリッジが検知されません。
  • 関連ソフトとしてExcelを使用していますが、インクカートリッジの交換が反映されません。
回答を見る