That's what I said. It's a nice solution.
AliR.
This article is a little dated (for VC6), but not much has changed in this
area since then so I think it should still work:
http://support.microsoft.com/kb/300606
Tom
"rockdale" <rockdale.green@gmail.com> wrote in message
news:84864941-4fc7-4692-bf67-938a70e16b92@v15g2000yqn.googlegroups.com...
Hi, all:
My MFC application is Dialog based and I need to adjust the dialog
size based on user's screen resolution. (which works fine). I have a
property sheet with 2 property pages on my dialog. I tried to adjust
the property sheet size when the dialog size adjusted, basically just
expand the property sheet to occupy the whole dialog, but I could not
have it done. Following is my code:
/*
CMyPage1, CMyPage2 are classes derived from CPropertyPage
*/
CPropertySheet* m_pMainTabs;
CPropertyPage* m_pMyPage1;
CPropertyPage* m_pMyPage2;
BOOL CMyDlg::OnInitDialog()
{
CDialog::OnInitDialog();
//resize window to maximum screen size
CSize screenSize;
screenSize.cx = ::GetSystemMetrics(SM_CXSCREEN);
screenSize.cy = ::GetSystemMetrics(SM_CYSCREEN);
MoveWindow(0,0, screenSize.cx, screenSize.cy);
//create property sheet and pages
m_pMyPage1 = new CMyPage1();
m_pMyPage2 = new CMyPage2();
m_pMainTabs = new CPropertySheet;
//Resize PropertySheet before add pages
CRect rcDlg, rcSheet;
GetWindowRect(&rcDlg);
ScreenToClient( &rcDlg );
m_pMainTabs->SetWindowPos( NULL, rcDlg.left, rcDlg.top, rcDlg.Width()
+100, rcDlg.Height()+100,
SWP_NOZORDER | SWP_NOACTIVATE );
m_pMainTabs->AddPage(m_pMyPage1);
m_pMainTabs->AddPage(m_pMyPage2);
m_pMainTabs->Create(this, WS_CHILD | WS_VISIBLE);
m_pMainTabs->ModifyStyleEx (0, WS_EX_CONTROLPARENT);
m_pMainTabs->ModifyStyle( 0, WS_TABSTOP );
m_pMainTabs->SetActivePage(m_pMyPage1);
}
thanks in advance
-rockdale