0).h文件中,定义m_pButton;1)初始化
CLabSDIView::CLabSDIView()
{
m_pButton = NULL;
}
2)创建按钮int CLabSDIView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1; m_pButton = new CButton;
m_pButton->Create("Richuen",WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
CRect(10,10,80,50),this,104);

return 0;
}3)销毁按钮
CLabSDIView::~CLabSDIView()
{
if (m_pButton)
delete m_pButton;
}

解决方案 »

  1.   

    CButton *p = new CButton();
      if (p->Creat(... ...) == FALSE) return;
      p->ShowWindow(SW_SHOW);//显示
      

  2.   

    谢谢大家,我已经解决这个问题,原因是我不应该放在
    CButtonView::CButtonView()中
    应该放在
    CButtonView::OnDraw()中
      

  3.   

    不行,怎么能放在OnDraw()中创建呢?
    它会不停地创建CButton *m_pButton应放在头文件中定义,要不很快就被析构,无法显示。而
    m_pButton = new CButton;
    m_pButton->Create("Richuen",WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
    CRect(10,10,80,50),this,104);
    可以放在OnInitialUpdate()中