RT,我在写一个图像融合的程序,使用MFC的多文档界面。我主要有两个问题:现在我的设想是这样,程序一启动什么都不做,只弹出一个对话框要求输入处理路径,然后确定,将路径传入文档,调用文档中的处理函数进行操作。但是问题来了,对话框显示的操作代码(dlg.Domodal())要写在哪里?
按理来说,既然是传值给文档成员变量,那么对话框的调用一定是在文档的某个成员函数中实现对吧,我找到的SDI的操作是这样的:
文档中建立一个处理函数openfile()来执行这个任务,然后在视图View的OnInitialUpdate()函数中,先获取当前文档的指针pDoc,再来调用这个openfile(),从而完成这一要求。但是实际在MDI操作中却不同,我如此试验的结果是:程序一开始运行并没有弹出对话框,而是在File--》New即新建的时候才弹出。并且以我的理解,这种对应于SDI的方法应该是不能应用于MDI的。那么,我应该如何写才能实现在MDI中把从程序一启动就弹出?
并且将该对话框输入的数据传给文档成员变量呢?
按理来说,既然是传值给文档成员变量,那么对话框的调用一定是在文档的某个成员函数中实现对吧,我找到的SDI的操作是这样的:
文档中建立一个处理函数openfile()来执行这个任务,然后在视图View的OnInitialUpdate()函数中,先获取当前文档的指针pDoc,再来调用这个openfile(),从而完成这一要求。但是实际在MDI操作中却不同,我如此试验的结果是:程序一开始运行并没有弹出对话框,而是在File--》New即新建的时候才弹出。并且以我的理解,这种对应于SDI的方法应该是不能应用于MDI的。那么,我应该如何写才能实现在MDI中把从程序一启动就弹出?
并且将该对话框输入的数据传给文档成员变量呢?
解决方案 »
- CUDA生成图像数据的问题
- QQ,迅雷的界面的是怎么实现的!
- 学习使用Microsoft Visual studio 2005做MFC发现很困难
- 怎样最好的运用VC的输入提示信息。
- shell扩展的调试问题
- ——*-为什么从INI文件取回的值,不能实现IHTMLElement的put_innerText方法?-*——
- 如何获得list有几个item
- 一个关于document/view的问题!!!
- -----------------------10000分,寻找"破坏之王"---------------------------
- com自动化编程
- 一个服务器程序如何做成服务的形式
- 关于像素搜索的问题
pMainFrame->ShowWindow(m_nCmdShow);
pMainFrame->UpdateWindow();这两句以前就可以了,如CNewDlg dlg; dlg.DoModal();,至于传递路径,你可以在你的对话框的类的OnOK函数中
CString strText(_T(""));
GetDlgItemText(IDC_EDIT1, strText);
((CMainFrame*)AfxGetMainWnd())->SetStringText(strText);
CDialog::OnOK();
其中SetStringText是CMainFrame类的成员函数(public的,自己定义的,还定义一个CString成员函数接收字符串),下面的应该都会了吧
而mdi只是创建框架窗口
你在框架窗口的OnCreate里弹对话框就可以
至于路径可以保存再一个全局变量中
这样大家就可以公用了
我就简单说了句“楼上的可行”,可是系统提示“回复内容太短了”,就随便拼凑了点内容发贴。