• ベストアンサー

フォントの変更のしかた

環境は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