CFontDialog : CHARFORMAT引数のエラー

[戻る]
ろー 2009/04/10(金) 18:23:26
お世話になります。

MFCのCFontDialogについてお教えください。
Visual C++ 2008 SP1 
OS: Vista SP1

私の環境ではプロジェクトをSDK スタティックコンパイルで新規に作成して、Viewに以
下の関数を追加するとコンパイルエラーになります。

void CXXView::func1(CHARFORMAT* pcf)
{
  CFontDialog fdlg(pcf);
}

エラー  1  error C2664: 'CFontDialog::CFontDialog(LPLOGFONT,DWORD,CDC *,CWnd 
*)' : 
1 番目の引数を 'CHARFORMATW *' から 'LPLOGFONT' に変換できません。
(新しい機能 ; ヘルプを参照) 

Grepしてみたところ afxdlgs.hには

CFontDialogの第一引数にCHARFORMATを指定する形式は
    #ifndef _AFX_NO_RICHEDIT_SUPPORT
      CFontDialog(const CHARFORMAT& charformat,
                  DWORD dwFlags = CF_SCREENFONTS,
                  CDC* pdcPrinter = NULL,
                  CWnd* pParentWnd = NULL);
    #endif

と記載されていましたが、#fefine _AFX_NO_RICHEDIT_SUPPORTがどこで有効になってい
るか不明でした。

質問
 1.皆様の環境では正常でしょうか
 2.CHARFORMATを引数に渡す関数を有効にする方法をご存知でしょうか?

ろー 2009/04/10(金) 18:27:52
[[解決]]
質問をなげた瞬間に自分の勘違いをみつけました。
みなかったことにしてください

CHARFORMAT& charformat :&でした(恥)

古いスレッドには追加発言できません。