是不是只有在视类里才能用MessageBox("...");函数。
其它类,如文档不能用MessageBox("...");弹出信息?

解决方案 »

  1.   

    你视类中你用的MessageBox是从CWnd继承的,为int MessageBox(LPCTSTR 
       lpszText, LPCTSTR lpszCaption = NULL, UINT nType = MB_OK ); 
    在文档类中你可以用MessageBox这个API函数
    int MessageBox(
      HWND hWnd,          // handle to owner window
      LPCTSTR lpText,     // text in message box
      LPCTSTR lpCaption,  // message box title
      UINT uType          // message box style
    );
      

  2.   

    你可以自己查一下你用的MessageBox是哪一个类的成员函数,
    你就知道怎么用了。可以试试一个使用范围更广的函数:AfxMessageBox();
      

  3.   

    可以,只不过第一个参数要用NULL
      

  4.   

    不是。一般,MessageBox()的显示,需要一个owner窗口,如果你不指定,也没问题,系统会帮你定。但是,从程序的逻辑上来讲,大多数情况下是在某个窗口类中调用MessageBox()。
      

  5.   

    我记得MessageBox()函数只能用于CWnd及其派生类中,因为它是CWnd的成员函数
    如果要在其他地方调用,应该使用全局函数AfxMessageBox()。
    如果是为了调试的时候显示运行时候的信息,建议使用TRACE宏
      

  6.   

    只能在cwnd的派生类中用
    否则用AfxMessageBox();
      

  7.   

    注意楼上各位提供了多个MessageBox版本,总结就是:
    CWnd::MessageBox
    MessageBox 的API函数
    AfxMessageBox 全局函数,这个函数,在程序的任何地方都可以调用