CTestfView::CTestfView()
{MessageBox("a");
CButton *p_MyBut = new CButton();
p_MyBut->Create( "测试", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, CRect(20,10,80,40), this, IDC_MYBUTTON);}
MessageBox("a");能执行.下面的按钮却看不到.请问为什么?

解决方案 »

  1.   

    动态生成的控件,得调用ShowWindow
      

  2.   

    请问能看见的朋友.加了ShowWindow吗?\
    我加了\p_MyBut->ShowWindow(SW_SHOW);运行时提示
    debug assertion failed不加也显示不出按钮.你们也是在CTestfView类的构造函数里加的吗
      

  3.   

    CButton *p_MyBut = new CButton();
    p_MyBut->Create( "测试", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, CRect(20,10,80,40), this, IDC_MYBUTTON);
    p_MyBut->ShowWindow(SW_SHOW);没问题啊,
    不知道楼主碰到啥问题了,
      

  4.   


    可以了.为什么MessageBox可以执行.按钮不可以呢?
      

  5.   

    构造函数执行时父窗口还没建立,当然不能建立子窗口.
    CView::OnInitialUpdate 执行后,父窗口才创建完成.
      

  6.   

    你没有使用p_MyBut->ShowWindow(SW_SHOW);当然看不到了!