I figured it out. I think. It does work. I can implement these two events in my base class overriding the noted string variable in my derived classes.
BOOL OnInitSize()
{
return FALSE;
}
BOOL OnRestoreSize(ODWP dwSizeInfo)
{
void * p = (void*)dwSizeInfo;
DLGSIZEINFO *pSz = (DLGSIZEINFO*)p;
lstrcpyn(pSz->szDialogName, m_strDlgID, MAXLINE); // m_strDlgID is a string property I can change in derived classes
...
return TRUE;
}