我真的不明白这个。取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 样板代码(这是正确的术语吗?)。
所以它没有隐藏。当然,这个警告应该只在未调用基类实现的情况下标记?