לא להתייאש, פתרתי את התעלומה ../images/Emo13.gif
ראשית העף את SWP_NOSIZE, ולאחר מכן תשנה גם את הגודל של ה CTabCtrl ששייך ל CproperySheet ע"י GetTabCtrl(). שים לב שיש הבדל קטן בין שינוי הגודל של שניהם לבין שינוי TabCtrl בלבד - במקרה השני הלחצנים OK ו CANCEL עליונים, ואילו במקרה הראשון לא רואים אותם. נ.ב. בשביל הסיפור, הגעתי לפתרון ע"י זה שהשוותי את rect ל MyPropSheet.GetClientRect , ראיתי שהם דומים, ולכן הסקתי שצריך לשנות את גודלו של פקד אחר. להלן הקוד המשופץ:
CRect rect; GetClientRect(&rect); MyPropPage.AddPage(&m_StamDlg); MyPropPage.Create(this, WS_CHILD|WS_VISIBLE, 0); MyPropPage.ModifyStyleEx (0, WS_EX_CONTROLPARENT); MyPropPage.ModifyStyle (0, WS_TABSTOP ); MyPropPage.SetWindowPos(this , rect.left, rect.top, rect.right, rect.bottom, SWP_NOZORDER | SWP_NOACTIVATE); CTabCtrl *tc = MyPropPage.GetTabControl(); tc->SetWindowPos(this, rect.left, rect.top, rect.right, rect.bottom, SWP_NOZORDER | SWP_NOACTIVATE);