• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フォント指定の受渡し法?)

フォント指定の受渡し法について知りたい

このQ&Aのポイント
  • 私が作成中の .NET C++プログラムはフォント指定を他のC#アプリから受取っており、そのフォント指定に基づいて文字を表示することになっています。
  • C#のフォントダイアログからの情報を簡単にC++のCreateFontのパラメータを作り出す方法はありますか?またC#から受け取る情報が基本的に間違っており、別の情報があるのではないかと心配です。
  • フォント指定の受渡し法について詳しい方、アドバイスをお願いします!

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

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

CreateFontの引数 nHeightを ポイントのまま渡しているなら 期待通りの結果が得られないと思います MulDivなどを使って nHeight = -MulDiv( 20.25, GetDeviceCap(hDC,LOGPIXELSY),72) などで求めたものを使ってみましょう

sato-may
質問者

お礼

ありがとうございます 色々な面からご指導頂き感謝しております 少々時間を頂いて勉強させてもらいます ありがとうございました

その他の回答 (2)

  • FAY
  • ベストアンサー率49% (95/193)
回答No.2

#1さんがおっしゃっているようにSystem::Drawing::Font::ToHFontでHFONTが取得できるので、GetObject() メソッドを使用してLOGFONT構造体でフォントデータが取得できるはずです。 そのLOGFONT構造体のデータを渡してあげればデータの差異などを考えることもなくなると思います。

参考URL:
http://msdn.microsoft.com/ja-jp/library/dd144904(v=vs.85).aspx
sato-may
質問者

お礼

ありがとうございます LOGFONT構造体のデータの受渡しでトライしてみます でも細かい点が不明で不安です 今後も宜しくお願い申しあげます

回答No.1

そもそもFontDialogのFontプロパティのオブジェクトインスタンスをそのままもらってはいけないのですか。 CFontが作りたいのであれば,System::Drawing::Font::ToHFontでHFONTを取得後, CFont::FromHandleで作れるわけですし。 # C++ CreateFontをMFCのCFont::CreateFontと読み替えています。

sato-may
質問者

お礼

ありがとうございます フォント情報の受渡しがRegistry渡しと規定されております ですから文字列が渡されているのです RegistryではFontプロパティのオブジェクトインスタンスは渡せません 何とかなりませんか・・・・・・ ありがとうございました

関連するQ&A