我在一Button的click代碼中寫﹕
void CTestDlg::OnButton2() 
{
    CFontDialog mydialog;
    mydialog.GetFont();
}編譯運行﹐點擊Button2,出現錯誤,提示你 中止﹐重試還是忽略﹐

解决方案 »

  1.   

    不好意思﹐上面的代碼我帖錯了﹐應該是﹕void CTestDlg::OnButton2() 
    {
        CFontDialog mydialog;
        mydialog.DoModal();
        mydialog.GetFont();
    }
      

  2.   

    GetFont不是CFontDialog中你想要做事情的函数
    用:GetCurrentFont
      

  3.   

    CFontDialog dlg;
    if (dlg.DoModal() == IDOK)
    {
       LOGFONT lf;
       dlg.GetCurrentFont(&lf);
       m_fnDisp.CreateFontIndirect(&lf);
       CClientDC dc(this);
       CFont* pold = dc.SelectObject(&m_fnDisp);
    }
      

  4.   

    顺便说一下为什么你的代码会出错
    GetFont是CWnd类的函数,用来获得当前window中的字体。CFontDialog继承了它。但是在你的例子中,模式对话框已经销毁了,没有窗口又想获得窗口字体,当然会出错了