I really don't get this. Take the OnSize function:
afx_msg void OnSize(
UINT nType,
int cx,
int cy);
So, it is not virtual. So we make our own method using ClassWizard in our derived class. Eg:
void CCreateReportDlg::OnSize(UINT nType, int cx, int cy)
{
CResizingDialog::OnSize(nType, cx, cy);
if (m_Grid.GetSafeHwnd() != nullptr)
m_Grid.ExpandColumnsToFit();
}
You run that through the latest code analysis and it throws a warning about hiding a non-virtual function. But we are calling the base class function. This is standard MFC boiler plate code (is that the right terminology?).
So it is not hidden. Surely this warning should only flag if the base class implementation is not called?