乔山办公网我们一直在努力
您的位置:乔山办公网 > office365 > MFC中IDD_FORMVIEW的对话框如何嵌入到单文档文件...-mfc单文档调用office,调用mfc

MFC中IDD_FORMVIEW的对话框如何嵌入到单文档文件...-mfc单文档调用office,调用mfc

作者:乔山办公网日期:

返回目录:office365


  1. 在MainFrame中,可以添加一个“显示”按钮的响应函数中;

  2. 在这个函数中获取到Edit的文本信息后,可以设置给View;

  3. View中有个变量保存着这个文本信息;

  4. 在View的OnDraw函数中,调用DrawText将这个文本可以绘制在任何你希望出现的视图位置



方法如下:
用CView*或者CFrameWnd*给他做父窗口 一般你是做成非模态对话框就用Create Example
CMyDialog* pDialog;
void CMyWnd::OnSomeAction()
{
//pDialog initialized to NULL in the constructor of CMyWnd class
pDialog = new CMyDialog();
//Check if new succeeded and we got a valid pointer to a dialog object
if(pDialog !e799bee5baa6e79fa5e98193e59b9ee7ad94332= NULL)
{
BOOL ret = pDialog->Create(IDD_MYDIALOG,/*父窗口*/);
if(!ret) //Create failed.
AfxMessageBox("Error creating Dialog");
pDialog->ShowWindow(SW_SHOW);
}
else
AfxMessageBox("Error Creating Dialog Object");
}
做这样的登录界面,应该你你会,插入对话框资源,然后zd为他建立一个类,在OnOk函数里写判断用户输入的信息。

现在估计你就是想如何启动程序时先出现登录界面,登录成功再出现主界面。

//现在假设你为登录界面建立的类为CLoginDlg
//那么在主界面的OnCreate函数下添加如下代码
CLoginDlg dlg;
if(IDOK == dlg.DoModal()) {

}
else
exit(0);
//登录界面的OnOk函数可以如下写

UpdateData();

if(m_UserName.IsEmpty()){
MessageBox("用户名不能为空!");return;
}
if(m_Pwd.IsEmpty()){
MessageBox("密码不能为空!");return;
}
if(m_Pwd!="21chenxb"||m_UserName!="21chenxb"){
MessageBox("您输入的信息不正确!"); return;
}

CDialog::OnOK();

在对话框程序的OnOK中:

	//将数据写入1.txt,注意格式一致
CFile f;
f.Open(...);
f.Write(...);
f.Close();
//调用单文,注意两个exe一个txt在相同目录,否则需要每个都单独指导绝对目录
WinExec(_T("zxc.exe 1.txt"),SW_SHOWNORMAL);

CDialog::OnOK();

WinExec调用外部程序是可以加参数的,而标准单文档程序可以通过参数导入open的文件名。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网