如题

解决方案 »

  1.   

    OnCreate是在框架创建时执行的,不可以刷新!
      

  2.   

    不好用呀,假如我在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)里有一个MessageBox,我UpdateWindow()后也没重新调用这个函数呀?
      

  3.   

    框架只能创建一次,所以不可能重新调用OnCreate
      

  4.   

    请教大家m_WndLeftDlgBar.GetDlgItem(IDC_BUTTON1))->ShowWindow(TRUE)
    其中m_WndLeftDlgBar是CDialogbar的变量,这个操作除了在框架创建初始时好使,其他时间为什么不好用?
      

  5.   

    你可以在框架中单独写一个函数(如:ShowButton()),在框架初始化的时候可以调用这个函数,当你需要再次调用m_WndLeftDlgBar.GetDlgItem(IDC_BUTTON1))->ShowWindow(TRUE)的时候你可以调用ShowButton函数了!
    不知道我的回答是否是你所需要的?
      

  6.   

    OnCreate只能创建一次,需要刷新的必须写到其他地方
      

  7.   

    to 96163(爱谁谁) :你的想法我也想过,可是在框架初始化时调用showButton(),然后我又m_WndLeftDlgBar.GetDlgItem(IDC_BUTTON1))->ShowWindow(SW_HIDE),在其他地方再调用ShowButton(),出现内存错误,不好用呀!
      

  8.   

    你的m_WndLeftDlgBar变量定义在哪里了?
    是主框架吗?
      

  9.   

    to 96163(爱谁谁):是在主框架呀,我在这里调用
    void CCTI_ClientView::OnShowButton() 
    {

    CMainFrame MF;

    MF.ShowButton();

    你太热心了,解决后再开个帖子送分
      

  10.   

    CMainFrame MF;
    局部变量.函数退出时会删除的.
      

  11.   

    CMainFrame::OnCreate
    这个函数是映射WM_CREATE消息的,表示窗口创建完毕.一个窗口只创建一次,因此一个窗口也只会调用ONCREATE一次.
    刷新窗口用REDRAWWINDOW();
      

  12.   

    要获得主框架的指针要这样操作:
    ((CMainFrame*)AfxGetMainWnd( ))->ShowButton();
    这样应该每有问题了!