我自己制作了一个wizard,但是客户要求装饰界面,欢迎界面和后面的界面都要装饰,之前在对话框贴图的方法已经用过,欢迎界面的左边的位图不能覆盖整个区域,距离下面的分割线还有一点距离,于是根据http://www.codeproject.com/KB/tabs/conquering_wizard97.aspx的方法进行设置,问题出来了,我完全按照它的步骤,第一页可以正常显示,位图与下面的分割线也没有距离了,但是第二页的header怎么都不能显示headertitle和subheadertitle的字样,只是留出了空间和分割线。具体代码如下:
CPage2::CPage2()
: CPropertyPage(CPage2::IDD)
{
m_psp.dwFlags |= PSP_DEFAULT|PSP_USEHEADERTITLE|PSP_USEHEADERSUBTITLE|PSP_USETITLE;//
m_psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_HEADERTITLE);//"12121231";//"2";//_T("Title");
m_psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDS_HEADERSUBTITLE);//"3";//_T("And subtitle");
m_psp.hInstance = AfxGetInstanceHandle();
m_psp.pszTitle = "1111111111111";
}
奇怪的是m_psp.pszTitle = "1111111111111";这行代码还是有效的,因为在标题栏确实变化了,其它的headertitle和subheadertitle换了各种字符串都无法显示。我设置断点显示:m_psp.dwFlags CXX0017: 错误: 没有找到符号“m_psp”的字样,奇怪的是为什么最后一行代码运行了?而且在
CPage1::CPage1()
: CPropertyPage(CPage1::IDD)
{
m_pImage = NULL;
m_psp.dwFlags |= PSP_DEFAULT|PSP_HIDEHEADER ;//|PSP_HASHELP
}
中的代码也运行了。无论如何page2的titile不能显示,不知道为什么??
在propsheet中代码如下:
m_psh.dwFlags |= PSH_WIZARD97|PSH_WATERMARK| PSH_HEADER;//|
m_psh.pszbmWater = MAKEINTRESOURCE(IDB_BANNER_ICON);//
m_psh.pszbmHeader = MAKEINTRESOURCE(IDB_WATERMARK);
m_psh.hInstance = AfxGetInstanceHandle();
AddPage(&m_prop1);
AddPage(&m_prop2);
我完全是按照那个网页上设置的呀!!
请大家告诉我为什么会这么奇怪,我都调试3天了。
或者告诉我一种方法 ,可以实现这种规范的安装界面的风格即可。拜托了!!
CPage2::CPage2()
: CPropertyPage(CPage2::IDD)
{
m_psp.dwFlags |= PSP_DEFAULT|PSP_USEHEADERTITLE|PSP_USEHEADERSUBTITLE|PSP_USETITLE;//
m_psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_HEADERTITLE);//"12121231";//"2";//_T("Title");
m_psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDS_HEADERSUBTITLE);//"3";//_T("And subtitle");
m_psp.hInstance = AfxGetInstanceHandle();
m_psp.pszTitle = "1111111111111";
}
奇怪的是m_psp.pszTitle = "1111111111111";这行代码还是有效的,因为在标题栏确实变化了,其它的headertitle和subheadertitle换了各种字符串都无法显示。我设置断点显示:m_psp.dwFlags CXX0017: 错误: 没有找到符号“m_psp”的字样,奇怪的是为什么最后一行代码运行了?而且在
CPage1::CPage1()
: CPropertyPage(CPage1::IDD)
{
m_pImage = NULL;
m_psp.dwFlags |= PSP_DEFAULT|PSP_HIDEHEADER ;//|PSP_HASHELP
}
中的代码也运行了。无论如何page2的titile不能显示,不知道为什么??
在propsheet中代码如下:
m_psh.dwFlags |= PSH_WIZARD97|PSH_WATERMARK| PSH_HEADER;//|
m_psh.pszbmWater = MAKEINTRESOURCE(IDB_BANNER_ICON);//
m_psh.pszbmHeader = MAKEINTRESOURCE(IDB_WATERMARK);
m_psh.hInstance = AfxGetInstanceHandle();
AddPage(&m_prop1);
AddPage(&m_prop2);
我完全是按照那个网页上设置的呀!!
请大家告诉我为什么会这么奇怪,我都调试3天了。
或者告诉我一种方法 ,可以实现这种规范的安装界面的风格即可。拜托了!!
解决方案 »
- MFC 读取文件遇到的问题!!急啊!!
- 子窗口如何随父窗口的变化?
- 好诡异的问题,debug时报错,直接运行exe的话没错。
- VC关闭后再打开工程,却发现头文件视图里的头文件没了,类也没了,如何解决?
- 关于 CEdit::Clear()和readonly属性
- 有没有用vc连过Watcom SQL 4.0数据库的,插入8万条数据后速度奇慢,什么原因?
- 如何以管理员身份运行程序
- 请问书上的函数总是用FAR *,这样的意义是什么???分比较少,是因为csdn给的太少,我问的太多
- 有谁知道OLE POS
- 我在对话框窗体中任意画了一个图形,怎样才能将它保存到access中?并读出!!!
- vector的stable_sort,得不到我想要的排序结果。看一下这个排序条件是否正确。
- 提示寻找vc60.pdp的问题
按照你的方法我试了下,这么写的:
BOOL CPage1::OnSetActive()
{
// TODO: 在此添加专用代码和/或调用基类
//隐藏上一步按钮 CRect rect;
this->GetWindowRect(&rect);
this->ScreenToClient(&rect);
this->MoveWindow(rect.left, rect.top, rect.Width(), rect.Height(),1);
return CPropertyPage::OnSetActive();
}
结果第一页好了,在后面的页面图片的边缘也露出来了,似乎PAGE1有点大,这个问题如何能够系统的解决?关于自动生成的向导控件是否有自己的规定的尺寸?由于我的页面的尺寸过小所以覆盖不全?我想自动如何获得wizard的尺寸