weixin_54969566
2021-11-23 15:15
采纳率: 100%
浏览 5

vs2019 MFC 在子对话框创建字体对话框无法设置主对话框的字体

如标题,在子对话框创建字体对话框无法设置主对话框的字体

img


如图:button1是为了设置主对话框请求报文编辑框的字体
但是会中断

img

button1的代码如下(注释的部分运行也会有同样的中断):

void CSetShow::SettingDlgSetSend()
{
    m_font.CreatePointFont(200, _T("隶书"));
    GetDlgItem(IDC_EDIT_REQUEST)->SetFont(&m_font);
    // TODO: 在此添加控件通知处理程序代码
    /*CFontDialog dlg;
    if (IDOK == dlg.DoModal())
    {
        if (m_font.m_hObject)
        {
            m_font.DeleteObject();
        }
        m_font.CreateFontIndirect(dlg.m_cf.lpLogFont);
        GetDlgItem(IDC_EDIT_REQUEST)->SetFont(&m_font);
        Invalidate();
    }*/  
}

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • weixin_54969566 2021-11-26 09:46
    已采纳

    子窗口需要获取主窗口的指针来调用主窗口的控件,不能直接用ID调用

    CTestToolDlg* pMainWnd = (CTestToolDlg*)AfxGetMainWnd();//CTestToolDlg是主窗口的类
    CListCtrl* ctr = (CListCtrl*)pMainWnd->GetDlgItem(IDC_EDIT_REQUEST);
    
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题