CDlg* dlg; 
dlg=(CDlg*)theApp.m_pMainWnd;
extern theApp;
具体每句话放哪里,调用时怎么用呢,初学mfc啊,

解决方案 »

  1.   

    CDlg* dlg;  
    dlg=(CDlg*)AfxGetMainWnd();
      

  2.   

    extern theApp 连定义类型都没有?应该是放在需要用到它的地方吧。并且你是创建什么项目?
    dlg==(CDlg*)theApp.m_pMainWnd
    那么m_pMainWnd又是哪个主窗口的句柄呢
      

  3.   

    dlg==(CDlg*)theApp.m_pMainWnd这么用?
    m_pMainWnd是主窗口CDlg句柄啊
      

  4.   

    CMyApp* pApp=(CMyApp*)AfxGetApp();
    CMyDlg* pd=(CMyDlg*)pApp->m_pMainWnd;if(pd->card_ok)
    {
    pd->ad_collect();
    ...
      

  5.   

    用的地方:
    extern CYourApp theApp;
    就行了
      

  6.   

    在需要使用的.cpp的上方写extern CXXXApp theApp;
      

  7.   

    extern theApp;错了吧
    extern C**   theApp;
    哪里需要使用放到哪里
      

  8.   

    一般要在工程的很多地方使用的函数或者变量可以放在app类中声明.
    在使用的时候只需要.
    CXXXXXApp *app= (CXXXXXXApp*)AfxGetApp();
    app->你的函数或者变量