- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フォント指定の受渡し法?)
フォント指定の受渡し法について知りたい
このQ&Aのポイント
- 私が作成中の .NET C++プログラムはフォント指定を他のC#アプリから受取っており、そのフォント指定に基づいて文字を表示することになっています。
- C#のフォントダイアログからの情報を簡単にC++のCreateFontのパラメータを作り出す方法はありますか?またC#から受け取る情報が基本的に間違っており、別の情報があるのではないかと心配です。
- フォント指定の受渡し法について詳しい方、アドバイスをお願いします!
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
CreateFontの引数 nHeightを ポイントのまま渡しているなら 期待通りの結果が得られないと思います MulDivなどを使って nHeight = -MulDiv( 20.25, GetDeviceCap(hDC,LOGPIXELSY),72) などで求めたものを使ってみましょう
その他の回答 (2)
- FAY
- ベストアンサー率49% (95/193)
回答No.2
#1さんがおっしゃっているようにSystem::Drawing::Font::ToHFontでHFONTが取得できるので、GetObject() メソッドを使用してLOGFONT構造体でフォントデータが取得できるはずです。 そのLOGFONT構造体のデータを渡してあげればデータの差異などを考えることもなくなると思います。
質問者
お礼
ありがとうございます LOGFONT構造体のデータの受渡しでトライしてみます でも細かい点が不明で不安です 今後も宜しくお願い申しあげます
- Yune-Kichi
- ベストアンサー率74% (465/626)
回答No.1
そもそもFontDialogのFontプロパティのオブジェクトインスタンスをそのままもらってはいけないのですか。 CFontが作りたいのであれば,System::Drawing::Font::ToHFontでHFONTを取得後, CFont::FromHandleで作れるわけですし。 # C++ CreateFontをMFCのCFont::CreateFontと読み替えています。
質問者
お礼
ありがとうございます フォント情報の受渡しがRegistry渡しと規定されております ですから文字列が渡されているのです RegistryではFontプロパティのオブジェクトインスタンスは渡せません 何とかなりませんか・・・・・・ ありがとうございました
お礼
ありがとうございます 色々な面からご指導頂き感謝しております 少々時間を頂いて勉強させてもらいます ありがとうございました