我一天中的大部分时间都在努力弄清楚为什么会出现这种错误,但这仍然让我感到困惑。
我在Visual C ++中创建了一个控制台应用程序并创建了一个MFC应用程序。现在,我想将它们添加到单个项目中,这样当我编译项目时,它应该打开控制台然后根据我的命令打开对话框......
我添加了afx头文件,设置了配置设置。
我想知道从哪里开始是在winmain()还是int main()? 有没有例子? 给我一些知道的链接。解决方案 提前谢谢。
答案 0 :(得分:2)
创建基于MFC对话框的应用程序。项目 - 属性 - 配置属性 - 链接器 - 高级 - 入口点,设置wWinMainCRTStartup(假设项目是Unicode)。链接器 - 系统 - 选择控制台。构建应用程序现在它打开控制台窗口和它的对话框。
添加一些逻辑。例如,在我的Application类cpp文件中,我添加了以下内容:
#include "stdafx.h"
#include "testmfc.h"
#include "testmfcDlg.h"
#include <iostream> // add
#include <string> // add
using namespace std; // add
...
BOOL CtestmfcApp::InitInstance()
{
...
SetRegistryKey(_T("Local AppWizard-Generated Applications"));
// ****** add this
string s;
cout << "Start application?" << endl;
cin >> s;
if ( s == "y" )
{
CtestmfcDlg dlg;
m_pMainWnd = &dlg;
dlg.DoModal();
}
// ******
// Delete the shell manager created above.
if (pShellManager != NULL)
{
delete pShellManager;
}
return FALSE;
}
现在运行应用程序。如果你回答&#34; y&#34;在控制台窗口中,将显示对话框。否则,应用程序立即退出。根据此示例实现您自己的逻辑。