1

我真的不明白这个。取OnSize函数:

afx_msg void OnSize(
    UINT nType,  
    int cx,  
    int cy);

所以,它不是虚拟的。因此,我们在派生类中使用 ClassWizard 创建自己的方法。例如:

void CCreateReportDlg::OnSize(UINT nType, int cx, int cy)
{
    CResizingDialog::OnSize(nType, cx, cy);

    if (m_Grid.GetSafeHwnd() != nullptr)
        m_Grid.ExpandColumnsToFit();
}

你通过最新的代码分析运行它,它会抛出一个关于隐藏非虚拟函数的警告。但是我们调用的是类函数。这是标准的 MFC 样板代码(这是正确的术语吗?)。

所以它没有隐藏。当然,这个警告应该只在未调用基类实现的情况下标记?

4

0 回答 0