MFC 单文档实现

我要建立一个MFC单文档,但是我想把那块文档区域换成我自己创建的对话框资源 运行的时候 直接出现自己的对话框 要怎么做呢
不是基于对话框的 是基于文档的
主要是初始化函数需要怎么改 自己的对话框在什么地方调用

可不可以再详细点 我把你的代码考进去 有错误 说没有定义变量 我的水平低 呵呵

看你分这么多我详细写代码:
1.建立一个CView的单文档.
2.新增IDD_DIQLOG1对话框
为对话框创建一个CTestDlg类.基类为CFormView.
3.在CMainFrame类中添加OnCreateClient()函数
4.在CMainFrame中添加
CSplitterWnd m_wndSplitter对象.
5.在OnCreateClient()中添加以下代码
CRect rc;
GetClientRect(rc);
BOOL bRes=m_wndSplitter.CreateStatic (this,1,2);
m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CTwoView),CSize(0,0),pContext);
m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CTestDlg),CSize(300,300),pContext);
m_wndSplitter.RecalcLayout();
return bRes;
}

6.添加相应的头文件
7.在C--View 的头文件中
class C--Doc;

当然需要你自己设置大小,你不要原来的CView的话就可以设置为Size=0;

我试过了OK的
还有你还可以删除一个CView 的装载.那么这样一来就只有一个咯.
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-03-10
改写相应的程序块即可。
例如,ID_FILE_OPEN 原来调用 CWinApp::OnFileOpen:
ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
现在 改成 自己的 CXxxApp::OnFileOpen
另声明一个自己的对话框类CNewfileDlg, 同时,在自己的OnFileOpen 里
构建这个对话框类
CNewfileDlg abcDlg;
abbcDlg.DoModal();

同样方法,改写 OnFileNew 等函数,用自己的对话框。
第2个回答  2010-03-13
直接在CMainFrame::OnCreateClient函数中调用以下代码:
CViewDlg *pDlg=new CViewDlg;
pDlg->Create(IDD_DLG_VIEW);
pDlg->ShowWindow(SW_NORMAL);
CRect rect;
GetClientRect(rect);
ClientToScreen(&rect);
pDlg->SetWindowPos(NULL,rect.left,rect.top,rect.right,rect.bottom,SWP_FRAMECHANGED);
第3个回答  2010-03-11
你想用自己的对话框资源,我不建议你修改框架代码,因为那对于你要掌握的知识点很多。看上去你是个新手。

你最好是把工程文件修改成 dialog base
第4个回答  2020-05-02
响应函数不要自己添加啊!!mfc非常重要的作用就是它帮你搭建好很好的框架,你要添加响应函数时,就右键控件,点“建立类向导”
就会打开MFC
ClassWizard,选第一个tab
是什么忘记了,在对话框的右边就会看到add……
点击
就会自动添加了函数,你在它提示的地方填写代码就行了。

MFC 单文档应用程序 CViewList 以简单学生成绩管理系统为例
添加菜单项是关键步骤之一,通过修改菜单项ID,如ID_EDIT_ADD、ID_EDIT_MODIFY、ID_EDIT_DELETE等,实现功能的集成。存储ID_OP_STORE与读取ID_OP_READ等功能通过菜单响应实现,右击菜单项并添加事件处理程序,简化操作流程。在类列表中选择C管理系统View,确保三个类中View类优先响应,添加对话框用于管理...

MFC 单文档实现
1.建立一个CView的单文档.2.新增IDD_DIQLOG1对话框 为对话框创建一个CTestDlg类.基类为CFormView.3.在CMainFrame类中添加OnCreateClient()函数 4.在CMainFrame中添加 CSplitterWnd m_wndSplitter对象.5.在OnCreateClient()中添加以下代码 CRect rc;GetClientRect(rc);BOOL bRes=m_wndSplitter.Create...

编写MFC下的单文档程序,绘制矩形,矩形坐上角、右下角坐标由对话框输入...
实现过程:1. 创建名为drawrect的单文档视图程序2. 为CDrawrectView类添加成员变量来存放左上角坐标与右下角坐标3. 在CDrawrectView类的OnDraw函数中根据左上角坐标与右下角坐标绘制矩形4. 添加对话框资源用来输入左上角坐标与右下角坐标并为这个对话框添加相应的类与成员变量5. 让CDrawrectView响...

MFC单文档如何分割窗口?
在CMainFrame的OnCreate中,使用CSplitterWnd对象可以实现MFC单文档的窗口分割。具体步骤如下:1. 首先,在OnCreate方法中实例化一个CSplitterWnd对象,通常命名为m_wndSplitter。2. 接着,为m_wndSplitter设置窗口的位置和大小。3. 然后,为m_wndSplitter指定要分割的子窗口,这通常是你应用程序中要显示的...

MFC单文档如何打开文本文件并将其内容显示在窗口里?
在函数: BOOL CTT1Doc::OnOpenDocument(LPCTSTR lpszPathName) 中打开。 其中, CTT1Doc是用户的文档类名。这个函数不是系统自动生成的, 可以通过建立继承函数: virtual BOOL OnOpenDocument(LPCTSTR lpszPathName); 来实现。亦可以参见图片自动建立:...

如何在MFC单文档的主窗口中实现图片之间连线的颜色变化
用两个变量isSelectedA,isSelectedB分别表示A,B被选中,然后Invalidate重绘窗口。在OnDraw方法里,除了显示A,B,C图片的代码外,再加上判断isSelectedA和isSelectedB的语句,看A,B是否选中,选中则画一个和原来箭头尺寸完全一样,颜色不一样的箭头就行了。没有选中,则按初始颜色画一个箭头即可。

MFC单文档应用程序
用MFC AppWizard(EXE)生成一个基于对话框的应用程序,接受其默认设置,取名为demodialog。给应用程序添加一个Toolbar的名称为IDR_TOOLBAR1的工具条资源,名称分别如下:ID_NEW ‖生成新的程序等 ID_FILE_OPEN ‖打开文件 ID_FILE_SAVE ‖保存文件 ID_EXIT ‖退出程序 然后在对话框的头文件中添加如下的...

MFC单文档怎么设置窗口大小的下限,例如就是窗口的尺寸必须大于等于800...
可以用滚动视图CSrcollView,设置滚动范围800*600,这样即使窗口缩小了,实际客户区仍有这么大;可以禁止系统菜单的放缩和最大化,通过MoveWindow或者初始化窗口属性cs变量固定窗口大小,不可缩小也不可放大;截获框架CMainFrame的OnSize,在里面强行设置(不推荐,效果不好)void CMainFrame::OnSize(UINT n...

MFC编程怎么实现将对话框在单文档框架中显示出来组成界面?如图
在MainFrame中,可以添加一个“显示”按钮的响应函数中;在这个函数中获取到Edit的文本信息后,可以设置给View;View中有个变量保存着这个文本信息;在View的OnDraw函数中,调用DrawText将这个文本可以绘制在任何你希望出现的视图位置

MFC单文档应用程序
说详细一点 你要说为了实现什么需要加什么代码,你上面说得理解,一点代码都不需要加就可以了 如果是要显示对话框,一楼已经讲得很清楚了,如果是为了将对话框放在视图中,你就需要创建对话框后,建对话框类,将属性改为child属性,无边框,然后再cmainfram里面相应某个按钮创建对话框对象,通过movewindow...

相似回答
大家正在搜