单文档程序的登入问题 我建立了一个单文档程序,想在里面加一个登入模块,登入模块的代码我已经写好了,我想问一下,在程序的什么地方加一些什么语句可以让我的程序先运行登入对话框,再等我登入后运行主程序。谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CXXApp::InitInstance(){ CXDlg dlg; dlg.domodal();} 如果登入没有成功,在CXXDlg 类中定义一个判断成功与否的函数,然后 if(!dlg.isSucess()){ return FALSE ;}程序就会自动退出 这个只需要在你的APP类的InitInstance()函数里添加代码如下,先添加一个登录的对话框并生成相应对话框类CLoginDlg,至于对于登录成功与否的验证,你可以登录对话框的“登录“按钮点击事件中去处理,也可以从对话框中取得相关参数后在InitInstance()函数中去做验证,如果不通过直接return FALSE;即可。BOOL CTestApp::InitInstance(){ InitCommonControls(); CWinApp::InitInstance(); AfxEnableControlContainer(); CLoginDlg dlg; if(dlg.DoModal() != IDOK)//这里是弹出登录对话框 return FALSE; SetRegistryKey(_T("应用程序向导生成的本地应用程序")); LoadStdProfileSettings(4); // 加载标准 INI 文件选项(包括 MRU) // 注册应用程序的文档模板。文档模板 // 将用作文档、框架窗口和视图之间的连接 CSingleDocTemplate* pDocTemplate; pDocTemplate = new CSingleDocTemplate( IDR_MAINFRAME, RUNTIME_CLASS(CMobilePhoneMsgDoc), RUNTIME_CLASS(CMainFrame), // 主 SDI 框架窗口 RUNTIME_CLASS(CMobilePhoneMsgView)); if (!pDocTemplate) return FALSE; AddDocTemplate(pDocTemplate); // 分析标准外壳命令、DDE、打开文件操作的命令行 CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); // 调度在命令行中指定的命令。如果 // 用 /RegServer、/Register、/Unregserver 或 /Unregister 启动应用程序,则返回 FALSE。 if (!ProcessShellCommand(cmdInfo)) return FALSE; // 唯一的一个窗口已初始化,因此显示它并对其进行更新 m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED); m_pMainWnd->UpdateWindow(); // 仅当存在后缀时才调用 DragAcceptFiles, // 在 SDI 应用程序中,这应在 ProcessShellCommand 之后发生 return TRUE;} 向jameshooo提问:异步可插协议的IInternetProtocolInfo接口不会被查询 能否用Win32的静态库 生成另外一个静态库 求助(加密软件),有酬答谢 对话框窗口最小化的问题 .net2003创建的带数据库的工程项目怎样在2005里面运行 怎样实现用工作线程来负责CSocket的消息的响应。非常感谢! 关于完成端口的问题 各位发表高见:软件开发和软件测试哪个要求更高?哪个更有前途? 请教大虾:采用分割视图时如何实现两个视图的互动? 求助 修改程序图标问题 求助!...“strcpy_s”: 函数不接受 3 个参数 关于建网使用SQL2000数据库的问题
{
CXDlg dlg;
dlg.domodal();
}
然后
if(!dlg.isSucess())
{
return FALSE ;
}
程序就会自动退出
先添加一个登录的对话框并生成相应对话框类CLoginDlg,至于对于登录成功与否的验证,你可以登录对话框的“登录“按钮点击事件中去处理,也可以从对话框中取得相关参数后在InitInstance()函数中去做验证,如果不通过直接return FALSE;即可。
BOOL CTestApp::InitInstance()
{
InitCommonControls(); CWinApp::InitInstance();
AfxEnableControlContainer();
CLoginDlg dlg;
if(dlg.DoModal() != IDOK)//这里是弹出登录对话框
return FALSE; SetRegistryKey(_T("应用程序向导生成的本地应用程序"));
LoadStdProfileSettings(4); // 加载标准 INI 文件选项(包括 MRU)
// 注册应用程序的文档模板。文档模板
// 将用作文档、框架窗口和视图之间的连接
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CMobilePhoneMsgDoc),
RUNTIME_CLASS(CMainFrame), // 主 SDI 框架窗口
RUNTIME_CLASS(CMobilePhoneMsgView));
if (!pDocTemplate)
return FALSE;
AddDocTemplate(pDocTemplate);
// 分析标准外壳命令、DDE、打开文件操作的命令行
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
// 调度在命令行中指定的命令。如果
// 用 /RegServer、/Register、/Unregserver 或 /Unregister 启动应用程序,则返回 FALSE。
if (!ProcessShellCommand(cmdInfo))
return FALSE;
// 唯一的一个窗口已初始化,因此显示它并对其进行更新
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);
m_pMainWnd->UpdateWindow();
// 仅当存在后缀时才调用 DragAcceptFiles,
// 在 SDI 应用程序中,这应在 ProcessShellCommand 之后发生
return TRUE;
}