你是不是用了模态对话框,而且在DoModal返回以后用了上面的代码?

解决方案 »

  1.   

    是CControlBar *pb=pw->GetControlBar(IDD_MY_DIALOG);得到的pb不是有效的窗口指针。
    你的IDD_MY_DIALOG那个Dialog Bar创建成功了吗?
      

  2.   

    没有,这个CDialogBar其实相当于IE中的地址栏,
    我是在CDialogBar中的一个按钮的响应函数中添加此代码的
      

  3.   

    对,我觉得你说得有道理,但我的IDD_MY_DIALOG创建成功了呀,我该怎么解决了????
      

  4.   

    这就难说了。在你创建IDD_MY_DIALOG那个Dialog Bar后,加入下面的调试代码:
    CControlBar *pBar = GetControlBar(IDD_MY_DIALOG);
    ASSERT(::IsWindow(pBar->GetSafeHwnd());
      

  5.   

    这就难说了。试试创建Dialog Bar后,加入下面的调试代码:
    CControlBar *pBar = GetControlBar(IDD_MY_DIALOG);
    ASSERT(::IsWindow(pBar->GetSafeHwnd()));
      

  6.   

    这段调试码加在哪?是框架类的.cpp文件中吗?
    我创建的IDD_MY_DIALOG资源,并没有添加基于CDialogBar的新类,这有影响吗?