VC++中的Dlg,App,Doc,view

http://www.cnblogs.com/zhangpengshou/archive/2009/03/31/1425969.html

VC++中的Dlg,App,Doc,view

Dlg 是Dialog 的缩写,对话框
App类就是这个SDI作为"程序"的入口有点像c的Main函数
View是指编辑区里面的事就是那块白色的中间区域他负责绘制和乡音一些消息
Doc就有点像数据库,他保存着编辑数据,用于view的Redraw的时候用,还有保存文件。反正动态的编辑数据都放在Doc里面。

1) 在View中获得Doc指针 CYouSDIDoc *pDoc=GetDocument();一个视只能有一个文档。

2) 在App中获得MainFrame指针 CWinApp 中的 m_pMainWnd变量就是MainFrame的指针 也可以:CMainFrame *pMain =(CMainFrame *)AfxGetMainWnd();

3) 在View中获得MainFrame指针 CMainFrame *pMain=(CmaimFrame *)AfxGetApp()->m_pMainWnd;

4) 获得View(已建立)指针 CMainFrame *pMain=(CmaimFrame *)AfxGetApp()->m_pMainWnd; CyouView *pView=(CyouView *)pMain->GetActiveView();

5) 获得当前文档指针 CDocument * pCurrentDoc =(CFrameWnd *)m_pMainWnd->GetActiveDocument();

6) 获得状态栏与工具栏指针 CStatusBar * pStatusBar=(CStatusBar *)AfxGetMainWnd()->GetDescendantWindow(AFX_IDW_STATUS_BAR); CToolBar * pToolBar=(CtoolBar *)AfxGetMainWnd()->GetDescendantWindow(AFX_IDW_TOOLBAR);

7) 如果框架中加入工具栏和状态栏变量还可以这样 (CMainFrame *)GetParent()->m_wndToolBar; (CMainFrame *)GetParent()->m_wndStatusBar;

8) 在Mainframe获得菜单指针 CMenu *pMenu=m_pMainWnd->GetMenu();

9) 在任何类中获得应用程序类 用MFC全局函数AfxGetApp()获得。

时间: 2025-01-08 05:57:10

VC++中的Dlg,App,Doc,view的相关文章

VC++中动态生成菜单技巧

下载源代码 一.前言    在实际运用中,经常需要根据操作来增减菜单和菜单项.在VC++开发环境下,动态生成菜单的方法有多种.例如:可以利用资源编辑器创建菜单资源,然后在程序运行中动态加入菜单,这种动态生成菜单的方法比较常见,运用比较多.用这种方法动态增加菜单时,首先需要在Resource.h中添加菜单ID:由于是动态生成的菜单选项,所以要实现它的功能就不能在ClassWizard中映射函数了,需要在头文件中手动添加消息函数原型,在代码文件中手动添加消息映射和添加消息响应函数.动态生成菜单的另一

浏览器中唤起Native App

前段时间遇到一个小需求:要求在分享出来的h5页面中,有一个立即打开的按钮,如果本地安装了我们的app,那么点击就直接唤起本地app,如果没有安装,则跳转到下载. 因为从来没有做过这个需求,因此这注定是一个苦逼的调研过程. 我们最开始就面临2个问题:一是如何唤起本地app,二是如何判断浏览器是否安装了对应app. 如何唤起本地app 首先,想要实现这个需求,肯定是必须要客户端同学的配合才行,因此我们不用知道所有的实现细节,我们从前端角度思考看这个问题,需要知道的一点是,ios与Android都支持

c++-vc中程序调用ntgraph控件

问题描述 vc中程序调用ntgraph控件 程序调用控件,程序已经写好,利用ntgraph控件来画图,凑足30字. 解决方案 你先试试看,如果不行我给你完整的项目. 解决方案二: // gtDlg.cpp : implementation file // #include "stdafx.h" #include "gt.h" #include "gtDlg.h" #include<iostream> #include<fstre

VC中使用GDI+的配置方法概述_C 语言

本文以Visual C++ 6.0及Visual Studio 2003为例简述了VC中GDI的配置方法,具体操作如下: 一.对于Visual C++ 6.0的用户: 1. 下载GDI+的库.运行GDI+需要一个GdiPlus.dll的文件; 开发GDI+的程序,还需要GdiPlus.lib和GdiPlus*.h文件.这些都可以在微软的网站上下到.(具体搜一下windows sdk就都出来了) 2. 将以上的文件放在你的工程中的一个目录,然后在stdafx.h中包含#include "GdiPl

VC中SDK与MFC的区别浅析_C 语言

本文浅析了vc中SDK与MFC的区别,对于初学VC的朋友有一定的学习借鉴价值,详情如下: SDK 是指Software Development Kit 软件开发包 MFC 是指Microsoft Foundation Classes 微软函数类库 因此MFC是对API函数的封装,也算是vc里的SDK  用VC编写Windows程序有两种:1. Windwos c方式(SDK),2.C++方式:即对SDK函数进行包装,如VC的MFC,BCB的OWL等. SDK编程就是直接调用Windows的API

VC++中调用word进行word表格的填写

在实际应用中,编程者往往喜欢程序能自动生成word说明文档,说明程序运 行的状况或运行的结果:或者程序能提取数据库的内容生成word表格,使用户能 方便的查看和修改,打印.但是VC++中调用word的确不容易,特别是对word中各 种函数的使用,本文以作者的工作经验详细介绍一下如何调用word和进行word表 格的填写,有同样需求的编友也可查看一下MSDN中的Automation Microsoft Office 97 and Microsoft office 2000.下面介绍以Microso

VC中多语言菜单的实现

软件的国际化不可避免.一种软件可能被很多国家的人使用,如给您的软件加上多种语言的菜单,不但给使用者带来很多方便,也为您的软件的推广带来很多便利.比如给您开发的中文软件,加上一个英语或日语菜单,对母语为英语和日语的朋友将会带来很多便利. VC中实现多语菜单非常容易,下面以英汉对照菜单为例说明多语菜单实现的方法.  一.建立工程项目文件 选择语言为中文,其余采用默认,添加中英文切换菜单IDD_MENU_CHANGE 二.用文本形式打开资源文件,找到IDR_MAINFRAME的菜单文本内容如下: ID

如何在VC++中使用API直接打印

(说明:)这一段代码,用以演示<如何在VC++中使用API直接打印>.并且该段代码可以直接嵌入各种工程中,有实际使用的价值. (用途:)在Visual C++中,应用程序通常是使用CView中提供的打印功能,在OnPrint()或OnDraw()中向打印机输出.但是对于对话框中的数据,或基于对话框的程序,打印成了一件繁琐的工作. 该段代码向用户提供了PrintListCtrl()函数,用于打印用户在对话框或FormView中的CListCtrl(控件必须是Report View 形式的)控件中

软件开发-安卓,fragmentTabHost中,使用自定义的view后就出错了,求指导

问题描述 安卓,fragmentTabHost中,使用自定义的view后就出错了,求指导 原本在tabspec里的setIndicator就使用简单的字符串,没事,已经完成了. 然后想试试这里使用自定义样式,就报了个nullpointerException 下面贴下代码: package com.example.test_fragmenttaghost; import android.os.Bundle; import android.view.*; import com.example.tes