从CPropertySheet派生出MySheet,含有6个属性页。
属性页从MyPage派生,MyPage从CPropertyPage派生。我在CDialog派生的MyDialog中包含MySheet m_sheet;
MyDialog::OnInitDialog()
{
   CDialog::OnInitDialog();
   m_sheet.Create(this,WS_CHILD|WS_VISIBLE,WS_EX_CONTROLPARENT);
   ……
}编译出来后,在Win2000下运行显示正常。
但在Win98环境下运行,则Sheet部分长出一大截,打乱了界面的布局。为了发现问题,我试着直接显示Sheet:
MyApp::OnInitInstance()
{
    MySheet sheet(...);
    sheet.DoModal();
}
结果也一样,在Win98环境下运行,则Sheet部分长出一大截。

解决方案 »

  1.   

    是不是系统的DLL文题?好像有很多软件都有这样的问题~
      

  2.   

    控制属性页大小:1、麻烦,代码臃肿;2、页本身有个模板,大小是设定好的,代码中要照顾这个大小,更麻烦。
    DLL的问题?可能吧,可是WIN98和WIN2000怎么会有这么大的不一致呢?属性页可是SDK支持的啊?
    各位有没有没看到网友们反映过这个问题?我不知该用什么关键词搜索。