2012-08-27 23:02
⁄ 工业·编程
⁄ 共 5738字
VC中常用的文档类,视图类,框架类,应用程序类,自定义类中获取其它四个类的方法: GET App AfxGetInstanceHandle() AfxGetApp() GET Frame->View->Document SDI AfxGetMainWnd() -> GetActiveView() -> GetDocument() MDI AfxGetMainWnd() -> MDIGetActive() -&...
MFC, MVC阅读全文
2012-08-26 07:33
⁄ 工业·编程
⁄ 共 2014字
一般的做法是在 C**App::InitInstance()中,修改成这样: { //... m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED); m_pMainWnd->UpdateWindow(); //... } 或者,还在 CMainFrame::PreCreateWindow(CREATESTRUCT& cs)中,添加: { //... cs.style |= WS_MAXIMIZE; //... }
这种做法能产生窗口最大化,但效果是显示的时候窗口从普通大小"闪"到最大化...
MFC, UI界面阅读全文
2012-08-26 06:59
⁄ 工业·编程
⁄ 共 12540字
1 必备基础知识概述
1.1 MFC 文档视图结构程序结构总揽
当我们使用 MFC AppWizard 生成一个 MFC 程序,选用所有默认的设置(当然也是 Multiple Documents ,本文讨论主要基于 Multiple Documents ,对于 Single Document 情况仅以简单表述提及,皆因后者和前者很多相似相同之处,但前者更为复杂,并且更加常用。),假设你的程序名称为 A ,则你会得到 CMainFrame 、 CChildFrame 、 CAboutDlg 、 CADoc 、 ...
MFC, MVC阅读全文
2012-08-26 00:29
⁄ 工业·编程
⁄ 共 3342字
众所周知,MFC提供了一个非常强大的,但是又不太容易理解的编程模型叫做文档/视图结构。它的基本思想就是将数据的表现和数据的存在分开管理。MFC提供了很多现在的类来达成这个目标,通常,利用CFrameWnd,CView和CDocument这三个类,再利用CSingleDocTemplate的魔法将它们串联起来,就可以很容易的构建出一个单文档的Doc/View应用程序。
但是,随着互联网的发展,一切东西都跃然于网络上。我...
ActiveX, MFC, 控件阅读全文
2012-08-26 00:26
⁄ 工业·编程
⁄ 共 12695字
文档/视图结构是MFC中最有特色而又有难度的部分,在这当中涉及了应用、文档模板、文档、视图、MDI框架窗口、MDI子窗口等不同的对象,如果不了解这些部分之间如何关联的话,就可能犯错误,也就很难编出有水平的文档/视图程序。比如我在初学VC编程的时候,为应用程序添加了两个文档模板,两个模板公用一个文档类,只是视图不一样,期望当一个模板的文档的视图改变了文档后,调用UpdateAllViews后也能更新另一...
MFC阅读全文
2012-08-26 00:19
⁄ 工业·编程
⁄ 共 2417字
获得CWinApp: -在CMainFrame,CChildFrame,CDocument,CView中直接调用AfxGetApp()或用theApp -在其它类中只能用AfxGetApp() 获得CMainFrame: -在CMinApp中用AfxGetMainWnd()或者m_pMainWnd -在CChildFrame中可用GetParentFrame() -在其它类中用AfxGetMainWnd() 获得CChildFrame: -在CView中用GetParentFrame() -...
MFC阅读全文
2012-08-26 00:16
⁄ 工业·编程
⁄ 共 6809字
动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的。
一、创建动态控件:
为了对照,我们先来看一下静态控件的创建。
放置静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗口中拖出所需控件放在对话框中即可,再适当修改控件ID,设置控件属性,一个静态控件就创建好了,当对话框被显示时,其上的控件也会显示。
静态控件不需要调用Cr...
MFC, UI界面阅读全文
2012-08-25 23:49
⁄ 工业·编程
⁄ 共 614字
用MFC可以创建非模态的对话框,只是创建方式不同,模态对话框用 dlg.DoModel()调用,而非模态对话框要用create函数创建调用。
/*假设IDD_TEST_DLG为已经定义的对话框资源的ID号*/ CTestDlg *dlg=new CTestDlg; dlg->Create(IDD_TEST_DLG,NULL); dlg->ShowWindows(SW_SHOW);
在上面的代码中我们新生成了一个对话框对象,而且在退出函数时并没有销毁该对象。因为如果此时销...
MFC阅读全文
2012-08-25 23:46
⁄ 工业·编程
⁄ 共 432字
1、打印相关(CView类中实现)
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
即打印,打印预览默认的是调用CView的对应的响应函数。
2、 文件的打开和新建(CApp类中实现)
...
MFC, 消息机制阅读全文
2012-08-25 23:25
⁄ 工业·编程
⁄ 共 3853字
(Document Interface) 是Windows 界面的一种规范,它建立多个窗口来浏览文档数据,如Windows中的Program Manager 等都是按MDI 规范实现的。在实际工程软件开发中,许多程序员将其作为一种实现多窗口的标准方法。微软基础类库(Microsoft Foundation Class Library, 简称MFC 库), 是微软公司为方便Windows 程序开发所提供的一个功能强大的通用类库。MFC 的核心是以类的形式封装了大量Windows API。在可视化编...
MFC, UI界面阅读全文