ページ 11

初歩的な事ですが・・・

Posted: 2010年2月02日(火) 16:48
by 入門者以下
VC++をVisual2008で勉強しているのですが、
CFontとLOGFONTは両方フォント関連のクラスのようなのですが
何が違うのか把握できずご質問させていただきます。

LOGFONTは、フォントの大きさ・種類・高さ・角度・幅・色などの情報を格納
CFontは、フォントを操作する

とあったので、フォントの種類,色を変更する際に、
LOGFONTから変更したいフォントの種類、色の情報を呼び出して
CFontで動作させる。とのニュアンスでよいのでしょうか??

誤認識であれば、お手数ですがご教示ください。

よろしくお願い致します。

Re:初歩的な事ですが・・・

Posted: 2010年2月02日(火) 17:00
by バグ
MFCですよね?以下、それが前提での書き込みです。

>>CFontとLOGFONTは両方フォント関連のクラスのようなのですが

LOGFONTは構造体で、CFontはクラスです。


>>LOGFONTは、フォントの大きさ・種類・高さ・角度・幅・色などの情報を格納
>>CFontは、フォントを操作する

うーん…どちらかというと、LOGFONT構造体にフォントの元となる情報を設定し、それを使ってCFontでフォントを作成するという感じかな?

Re:初歩的な事ですが・・・

Posted: 2010年2月02日(火) 17:04
by softya
CFontはMFCのクラスだと思います。
LOGFONTってWin32APIの構造体?あるいは、.NETのクラス?
あぁ、CFontクラスで扱える構造体のLOGFONT構造体ですね。

CFontから情報を取り出したり、Font情報を設定したりするときに使いますが、使わなくてもCFontクラスでフォントは作れますよ。 画像

Re:初歩的な事ですが・・・

Posted: 2010年2月02日(火) 20:09
by 入門者以下
バグ様、softya様

はい、MFCです。
失礼いたしました。


ご回答ありがとうございます。

お二人の「LOGFONT構造体にフォントの元となる情報を設定し、
それを使ってCFontでフォントを作成する」or
「CFontから情報を取り出したり、Font情報を設定したりするときに使いますが
CFontクラスでフォントは作れる」

とてもわかりやすかったです。
上記の解釈を頭に入れ参考にしているソースを再度見ると
今までより深い理解ができました!
ありがとうございました。