我用API写了个程序,后来发现在MFC中已有相关的类及函数,怎样才能在程序中加入MFC中的类,需要加什么头文件吗?

解决方案 »

  1.   

    在MSDN中查查,需要什么头文件和lib文件都有说明。
      

  2.   

    #include <afxwin.h>basic support
      

  3.   

    project->settings->general:microsoft foundation classes: use mfc in a ...
      

  4.   

    需要用什么mfc函数,查一下msdn就可以知道需要什么.h文件和.lib文件了
      

  5.   

    : flyelf(空谷清音) 我用了你的方法还是不行。编译的时候老说找不到相应的类。
    我需要的是CWinApp::OnFileNew,还需要加些什么东西吗?
      

  6.   

    我在头文件里加上#include<afxwin.h>之类的都不行啊,他总丢给我一句话WINDOWS.H already included.  MFC apps must not #include <windows.h>
      

  7.   

    不需要加东西了,直接在你的CWinApp里映射就可以了.
    BEGIN_MESSAGE_MAP(CYourApp, CWinApp)
        ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew) // 加上这个就可以了
    END_MESSAGE_MAP()
      

  8.   

    不好意思,我的想法大概没说清楚。 promaster(财源广进)同志,你的代码不是在新开一个PROJECT的时候指定用MFC不就直接在CPP文件里生成了吗?我的意思是我用API里写的函数里怎么加入MFC类库中的函数啊?比如说我想在接受WM_COMMAND消息后如果是IDM_OPEN的话就出现一个打开文件的对话框。这个对话框我看到在MFC里有相应的函数可以使用(不知是不是ONFILENEW),那要怎样才能用啊?
    让我这种新手自己写个对话框好象不容易啊。大概意思 flyelf(空谷清音)好象和我的思路差不多。哪位高手能来帮帮忙啊。或者说promaster(财源广进)同志能把你的意思说明白点吗?
      

  9.   

    这条路行不通。两个不同类型的工程,MFC工程与Win32工程区别在于它需要连接MFC的库,MFC本身还包含了若干个全局的函数,他们是Afx打头的。MFC里面本身有个AfxWinMain()相当于Win32里的WinMain()不可能混合在一起编译通过。如果说只是响应一些消息的宏,不要用MFC的message map。参考《深入浅出MFC》里第一章消息映射的雏形一节。不过不涉及到CWnd,CThread的类如CString可以通过编译必须是.cpp文件使用。