お世話になります。
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を引数に渡す関数を有効にする方法をご存知でしょうか?
質問をなげた瞬間に自分の勘違いをみつけました。
みなかったことにしてください
CHARFORMAT& charformat :&でした(恥)