我要在一个CDIALOG派生对话框中嵌入另一个对话框,但子对话框是一个CPROPERTYPAGE对象,总是做不成,求大家指点迷津
PS:因为我的子对话框要在两个地方用,一个是选项卡中,另一个单独显示,听说把PROPERTYPAGE放在DIALOG里就可以单独显示,所以才用这种思路,大家有别的建议指点急求帮,谢谢

解决方案 »

  1.   

    不管对话框是什么类型,只要你把这个对话框的父窗口设成你要嵌入的对话框窗口指针应该就可以(这个窗口类型设为child,不要pupop),如果你还没这么试你就试一下.可能是你这个对话框的类型不适合,改成child试试
      

  2.   

    子Dialog对话框(有PropertyPage的那个)MoveWindow到那个位置,自己保证显示隐藏和显示
      

  3.   

    谢谢各位,做出来了
    原因是CPROPERTYPAGE资源里有个DISABLED属性,默认的是TRUE,改成FALSE就可以了;而CDIALOG资源里默认的是FALSE,就可以成功。另外出现个问题:把CPROPERTYPAGE设为子对话框后上面那个TITLEBAR和BORDER怎么去掉?在对话框里有个那东西太突兀了,也就是说:怎么动态修改CPROPERTYPAGE的属性,比如TITLEBAR的TRUE改成FALSE我找到一个SETPROPERTY函数(应该是个接口函数吧),但是不知道怎么用,帮助上是这么解释的,可还是不知道里面的参数代表什么,求众神解惑:void AFX_CDECL SetProperty(
       DISPID dwDispID,
       VARTYPE vtProp,
          ... 
    );
     
    Parameters
    dwDispID
    Identifies the property to be set.vtProp
    Specifies the type of the property to be set. For possible values, see the Res section for COleDispatchDriver::InvokeHelper....
    A single parameter of the type specified by vtProp.
      

  4.   

    改成CHILD不行,会报错;但是POPUP可以,但是用POPUP显示SHOWWINDOW之后要用SETPARENT改成子窗口,这样才能显示,不知道为什么会这样。但是CDIALOG的设为CHILD可以
    显示出的窗口带标题栏,可以在父窗口里拖动,我想把标题栏去掉,但是不知道怎么做