我的应用中使用了:PropertySheet,在PropertySheet中使用了若干PropertyPage,在PropertyPage中可能有若干的Static、Edit、Select、List等内容,数量与类型都不固定,需要动态的添加。我想:
在PropertyPage中添加一个CWnd对象,作为Panel存在,然后在Panel中再添加具体内容的各种对象,因此我继承了PropertyPage创建一个新类,在类的OnInitDialog中我使用下面的语句:m_Static.Create(m_Title,WS_BORDER|WS_CHILD|WS_VISIBLE,rect,this,2);m_Wnd.Create("CWnd","",WS_CHILD|WS_BORDER|WS_VISIBLE,CRect(90,90,200,200),this,3);结果是:Static能成功创建并显示,Wnd却没有显示出来,也没有报告任何错误。该如何解决?有其他的解决方案吗?

解决方案 »

  1.   

    直接用CreateWindow试一下,应该可以的
      

  2.   

    问题我已经自己解决:m_Wnd.Create(NULL,NULL,WS_CHILD|WS_BORDER|WS_VISIBLE,CRect(90,90,200,200),this,3);现在的新问题是:我该如何向这个对象中添加子对象?我在继承的类中重载了OnCreate、OnShowWindow,结果一样,并没有成功的创建。
      

  3.   

    就是不行。
    我在派生的类中有以下成员:
    CEdit m_Edit;但我不知道在什么地方把m_Edit创建并显示出来。
      

  4.   

    在父窗口的OnCreate中创建,并指定WS_VISIBLE|WS_CHILD风格
      

  5.   

    使用OnCreate函数后,一定要对Create消息进行映射,以前我以为使用虚函数不用影射的。  
     
    ON_WM_CREATE()  
     
    谢谢各位!