各位好,我现在在用VC++做一个串口通讯软件。基本功能都已经完成了。。我的主程序窗口是一个对话框,即我建立的是一个基于对话框的应用程序,现在我想为这个程序设置一个启动界面,该启动界面是用来打开串口的,现在的问题是我一运行程序就跳出我原来的主对话框,而不是启动界面, 该怎么设置啊?
解决方案 »
- 网络套接字的问题,请大家帮忙看看
- 【调用了这个两个函数,串行化出错】
- 谁有有关wmi编程的例子,比如实现远程关机,观察远程cpu利用率的代码
- 在使用mfc时选择不同语言,怎么最后编译执行时有??符号(在菜单中)
- 查看DLL函数名称
- 请问普通打印机是否可以打印条码,急!小弟初入行,大家帮忙呀
- 请问哪里可以下载《Visual C++ 6.0 数据库编程大全》啊?
- 如何在一个对话框中输入N组数组,在另外一个对话框中处理?
- 求助在VC中图象压缩,如何导入BMP位图
- 如何知道在CListCtrl中选中了哪个CheckBox了呢?大送分。。。!!
- 求教:为什么用vc6运行dsw出错
- 关于数据库_ConnectionPtr Execute的问题,急急急急急急急急急急急急!!
在InitInstance里在调用主对话框之前调用启动界面
或者在你的主对话框的OnInitDialog里调用
{
AfxEnableControlContainer();
#ifdef _AFXDLL
Enable3dControls();
#else
Enable3dControlsStatic();
#endif CCommDlg dlg;
m_pMainWnd = &dlg; int nResponse = dlg.DoModal();
if(nResponse == IDOK)
{
//TODO: }
else if(nResponse == IDCANCEL)
{
//TODO:
}
return FALSE;
}
{
AfxEnableControlContainer();
#ifdef _AFXDLL
Enable3dControls();
#else
Enable3dControlsStatic();
#endif CCommDlg dlg;
m_pMainWnd = &dlg; int nResponse = dlg.DoModal();
if(nResponse == IDOK)
{
//TODO: }
else if(nResponse == IDCANCEL)
{
//TODO:
}
return FALSE;
}
在这句之前
CDlg4 dlg4;
dlg4.DoModal();
Compile没错,Build报错说,error LNK 2001:unresolved external symbol "public: _thiscall CDlg4:CDlg4(class CWnd *)"(??0CDlg4@@@)
执行link时出错
怎么办啊
CDlg4的实现你怎么写的
构造函数改过么?
可不可以举个简单的例子呢, 如:新建一个基于对话框的应用程序,在插入一个对话框作为启动界面?
实在不知道怎么办了
// jianu.cpp : 定义应用程序的类行为。
//#include "stdafx.h"
#include "jianu.h"
#include "jianuDlg.h"
#include "ShowDialog.h"#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CjianuAppBEGIN_MESSAGE_MAP(CjianuApp, CWinApp)
ON_COMMAND(ID_HELP, &CWinApp::OnHelp)
END_MESSAGE_MAP()
// CjianuApp 构造CjianuApp::CjianuApp()
{
// TODO: 在此处添加构造代码,
// 将所有重要的初始化放置在 InitInstance 中
}
// 唯一的一个 CjianuApp 对象CjianuApp theApp;
// CjianuApp 初始化BOOL CjianuApp::InitInstance()
{
CShowDialog showDlg;
showDlg.DoModal(); // 如果一个运行在 Windows XP 上的应用程序清单指定要
// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
//则需要 InitCommonControlsEx()。否则,将无法创建窗口。
INITCOMMONCONTROLSEX InitCtrls;
InitCtrls.dwSize = sizeof(InitCtrls);
// 将它设置为包括所有要在应用程序中使用的
// 公共控件类。
InitCtrls.dwICC = ICC_WIN95_CLASSES;
InitCommonControlsEx(&InitCtrls); CWinApp::InitInstance(); AfxEnableControlContainer(); // 标准初始化
// 如果未使用这些功能并希望减小
// 最终可执行文件的大小,则应移除下列
// 不需要的特定初始化例程
// 更改用于存储设置的注册表项
// TODO: 应适当修改该字符串,
// 例如修改为公司或组织名
SetRegistryKey(_T("应用程序向导生成的本地应用程序")); CjianuDlg dlg;
m_pMainWnd = &dlg;
INT_PTR nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: 在此处放置处理何时用“确定”来关闭
// 对话框的代码
}
else if (nResponse == IDCANCEL)
{
// TODO: 在此放置处理何时用“取消”来关闭
// 对话框的代码
} // 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,
// 而不是启动应用程序的消息泵。
return FALSE;
}
CShowDialog 是你要显示的启动界面
CjianuDlg 是主窗体