在msdn的帮助文档中有一个成员是m_ofn,但我在实际操作中却怎么也找不到这个成员。我是在CFileDialog的派生类的成员函数中用CFileDialo::(这样就有智能提示可以显示出成员函数和成员变量的)可是我怎么也找不到m_ofn这个成员变量我是那点错了呢?

解决方案 »

  1.   

    怎么会呢,有CFileDialo::m_ofn 啦。
      

  2.   

    CFileDialog dlg;
    dlg.m_ofn.???
      

  3.   

    我知道有,可是在实际中没有了,不信你在代码中写CFileDialog::后面的提示中没有m_ofn
      

  4.   

    CFileDialog dlg;
    dlg.m_ofn.???
    也一样呀,我写dlg.后面的提示(就是弹出来的哪个列表框)中没有m_ofn的
      

  5.   

    是不是跟我的vc++.net环境有关系哟,我看了CFileDialog的原代码
    是这样定义的__declspec(property(get=GetOFN)) OPENFILENAME m_ofn;
      

  6.   

    CFileDialo::肯定不行,m_ofn又不是静态成员变量。
    dlg.m_ofn我在VC6下看过有的。
      

  7.   

    CFileDialog dlg;
    dlg.m_ofn
    直接这样写
    没有提示,但编译能通过
      

  8.   

    当然有啊, 
    CFileDialog dlg;
    dlg.m_ofn
    也有提示
    是一个OPENFILENAME结构
      

  9.   

    m_ofn 这个成员变量肯定是有的。
    但智能提示没有。手工打出来不一样吗? 只要机器不报错就行了。我曾经这样用过的。没有问题。
      

  10.   

    有啊.
    CFileDialog dlg;
    dlg.m_ofn.Flags...........什么都有啊
    typedef struct tagOFN { 
      DWORD         lStructSize; 
      HWND          hwndOwner; 
      HINSTANCE     hInstance; 
      LPCTSTR       lpstrFilter; 
      LPTSTR        lpstrCustomFilter; 
      DWORD         nMaxCustFilter; 
      DWORD         nFilterIndex; 
      LPTSTR        lpstrFile; 
      DWORD         nMaxFile; 
      LPTSTR        lpstrFileTitle; 
      DWORD         nMaxFileTitle; 
      LPCTSTR       lpstrInitialDir; 
      LPCTSTR       lpstrTitle; 
      DWORD         Flags; 
      WORD          nFileOffset; 
      WORD          nFileExtension; 
      LPCTSTR       lpstrDefExt; 
      LPARAM        lCustData; 
      LPOFNHOOKPROC lpfnHook; 
      LPCTSTR       lpTemplateName; 
    #if (_WIN32_WINNT >= 0x0500)
      void *        pvReserved;
      DWORD         dwReserved;
      DWORD         FlagsEx;
    #endif // (_WIN32_WINNT >= 0x0500)
    } OPENFILENAME, *LPOPENFILENAME; 
      

  11.   

    你删除*.ncb文件,再重新编译,就OK了。
    因为,VC++6.0的词语敏感器偶尔会出点问题。