我在一Button的click代碼中寫﹕
void CTestDlg::OnButton2()
{
CFontDialog mydialog;
mydialog.GetFont();
}編譯運行﹐點擊Button2,出現錯誤,提示你 中止﹐重試還是忽略﹐
void CTestDlg::OnButton2()
{
CFontDialog mydialog;
mydialog.GetFont();
}編譯運行﹐點擊Button2,出現錯誤,提示你 中止﹐重試還是忽略﹐
{
CFontDialog mydialog;
mydialog.DoModal();
mydialog.GetFont();
}
用:GetCurrentFont
if (dlg.DoModal() == IDOK)
{
LOGFONT lf;
dlg.GetCurrentFont(&lf);
m_fnDisp.CreateFontIndirect(&lf);
CClientDC dc(this);
CFont* pold = dc.SelectObject(&m_fnDisp);
}
GetFont是CWnd类的函数,用来获得当前window中的字体。CFontDialog继承了它。但是在你的例子中,模式对话框已经销毁了,没有窗口又想获得窗口字体,当然会出错了