关于属性页对话框,为什么执行了ShowWindow(SW_SHOWMAXIMIZED),确不能将窗口最大化

Casper1314 2006-09-02 10:03:32
我创建了一个基于对话框的程序,是一个向导型属性表,有三个属性页。现在想程序一启动就将每个属性页的窗口最大化。我在每一个属性页的OnInitDialog()里调用ShowWindow(SW_SHOWMAXIMIZED),没有任何效果。
我的相关代码如下:
BOOL CPROPERTYSHEETApp::InitInstance()
{
CSheet dlg("Wizard Sheet");
m_pMainWnd = &dlg;
dlg.SetWizardMode();
}
CSheet::CSheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
:CPropertySheet(pszCaption, pParentWnd, iSelectPage)
{
AddPage(&m_page1);
AddPage(&m_page2);
AddPage(&m_page3);
}
BOOL CPage1::OnInitDialog()
{
CPropertyPage::OnInitDialog();

// TODO: Add extra initialization here
//added by lishouxin
//ASSERT(GetDlgItem(ID_WIZNEXT));
//GetDlgItem(ID_WIZNEXT)->SetDlgItemText(ID_WIZNEXT,"打开");
//setDlgItemText(ID_WIZNEXT,"打开");
ShowWindow(SW_SHOWMAXIMIZED);
}
另外,我想把属性页上的取消和帮助按钮去掉,以及把下一步按钮的按钮名称变一下,可用GetDlgItem(ID_WIZNEXT)和GetDlgItem(IDHELP)得到的指针总为空NULL。到底是哪里做错了。
...全文
958 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
思危 2006-09-02
  • 打赏
  • 举报
回复
呵呵,这个时候page还没有create呢,当然崩啦。

至少也要在CSheet的OnCreate里调吧。
Casper1314 2006-09-02
  • 打赏
  • 举报
回复
我在sheet里调了,
CSheet::CSheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
:CPropertySheet(pszCaption, pParentWnd, iSelectPage)
{
AddPage(&m_page1);
AddPage(&m_page2);
AddPage(&m_page3);
AddPage(&m_page4);
AddPage(&m_page5);
//ASSERT(GetDlgItem(IDD_Page1));
m_page1.ShowWindow(SW_SHOWMAXIMIZED);
}
可是程序执行完m_page1.ShowWindow(SW_SHOWMAXIMIZED);就崩了
思危 2006-09-02
  • 打赏
  • 举报
回复
在page里最大化当然没意义,在sheet里调

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧