01_frame window

对于Windows应用程序,用户是在一个框架窗口中与被显示的内容进行交互的。

框架窗口可以是单文档接口(SDI)框架窗口,也可以是多文档接口(MDI)子窗口。

Windows负责管理大部分用户与框架窗口的交互,包括:移动窗口,改变窗口大小,关闭窗口,最大化,最小化窗口。 而程序员负责管理框架里的内容。

一个框架窗口有两个主要组建:<1>框架  <2>内容

MFC框架使用 框架窗口来包含视图。框架和视图分别由两个不同的类来表示。框架窗口类负责管理框架,视图类负责管理内容。

视图窗口是框架窗口的子窗口 绘图和用户与文档的交互发生在视图窗口的客户区,而不是框架窗口的客户区

框架窗口提供一个围绕视图可见的框架,并提供一个标题栏,标准的窗口空间,如菜单,最大化,最小化按钮等。

切分窗口: 对于切分窗口,框架窗口的客户区被一个切分窗口占据, 这个切分窗口拥有多个子窗口,称为 panes , 这些panes 是视图。

窗口对象

MFC提供CWnd类,它封装了窗口的句柄。 窗口句柄(HWND)用来代表一个窗口,而CWnd只是包含窗口句柄。

CWnd是所有窗口的基类,如:框架窗口,对话框,子窗口,控件,控件条(control bar)

每个派生于CWnd的类都包含一个消息映射。(消息映射可以将windows消息和COMMAND与你自己的处理器关联起来)。

消息映射: 在应用程序框架中的表现就是 消息与消息处理函数一一对应消息映射表,以及消息处理函数的声明和实现等代码。

MFC处理消息的过程是:  当窗口(在Win32中,每个窗口都有一个窗口过程,在MFC中每个派生自CWnd的类都有一个消息映射)接收到消息时,会到消息映射表中查找该消息

C++窗口对象与HWND(句柄) 的关系:

有四种类型的多态: <1>虚函数多态 <2>模板多态 <3>重载 <4>转换

所谓的动态和静态 是一种基于绑定时间的多态分类。

严格来说,重载是编译时多台,即静态多态。 而虚函数多态是运行时多态,即动态多态。

01_frame window,布布扣,bubuko.com

时间: 2024-10-05 18:45:53

01_frame window的相关文章

window.open被浏览器拦截的解决方案

现象 最近在做项目的时候碰到了使用window.open被浏览器拦截的情况,搞得人无比郁闷啊,虽然在自己的环境可以对页面进行放行,但是对用户来说,不能要求用户都来通过拦截.何况当出现拦截时,很多小白根本不知道发生了啥,不知道在哪里看被拦截的页面,简直悲催啊~~. 另外,可以发现,当window.open为用户触发事件内部或者加载时,不会被拦截,一旦将弹出代码移动到ajax或者一段异步代码内部,马上就出现被拦截的表现了. 原因分析&深入研究 当浏览器检测到非用户操作产生的新弹出窗口,则会对其进行阻

关于js中window.location.href,location.href,parent.location.href,top.location.href的用法

关于js中window.location.href,location.href,parent.location.href,top.location.href的用法 "window.location.href"."location.href"是本页面跳转. "parent.location.href" 是上一层页面跳转. "top.location.href" 是最外层的页面跳转. 举例说明: 如果A,B,C,D都是html,D

window对象的几个重要方法

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>JavaScript window对象常用方法及事件</title><script type="text/javascript"> window.onload=function(){//文档加载完成后执行此方法   alert("文档加载完毕了"); }

js 完全分离 window.onload=

js 完全分离  window.onload= <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>TAB菜单</title> <script type="text/javascript"

Js中的window.parent ,window.top,window.self详解

在应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),self是当前窗口, opener是用open方法打开当前窗口的那个窗口. window.self 功能:是对当前窗口自身的引用.它和window属性是等价的. 语法:window.self 注:window.self.window.self是等价的. window.top 功能:返回顶层窗口,即浏览器窗口. 语法:window.top 注:如果窗

JS的window对象详解

一.说明 他是JS中最大的对象,它描述的是一个浏览器窗口,一般要引用他的属性和方法时,不需要用"Window.XXX"这种形式,而是直接使用"XXX".一个框架页面也是一个窗口. 二.Window窗口对象有如下属性 1.name 窗口的名称,由打开它的连接(<a target="...">)或框架页(<frame name="...">)或某一个窗口调用的 open() 方法(见下)决定.一般我们不会用

QT Demo 之 window(5) window.qml

在分析了main.cpp.Splash.Qt.quit()以及ScreenInfo之后,我们终于开始了正题:window.qml. window.qml的主体结构 window.qml主体是一个QtObject,其中包含了4个子元素:palette.controlWindow.testWindow和splashWindow: QtObject { property real defaultSpacing: 10 property SystemPalette palette: SystemPale

解决Window下文件名过长,导致无法删除,打开等问题

由于重装了Win8.1,在C盘会生成window.old的文件夹.本来想删除的,却出现文件名太长无法删除.那就改名呗,右键选择文件,我去,只有打开和发送选项,连属性选项都没有.当然打开和发送功能也不能正常使用. 那就用cmd来改名或删除呗,发现两个操作均由于文件名过长而失败. 由于当时没有截图,事后模拟一下,发现不能再现之前的情况: 后来google一个可行方案:可以使用文件短名来代替长长的文件名. cd C:\Windows\Vss\Writers\Application dir \x #就会

window.location.hash的简单了解

location是javascript里边管理地址栏的内置对象,比如location.href就管理页面的url,用location.href=url就可以直接将页面重定向url.而location.hash则可以用来获取或设置页面的标签值.比如http://domain/#admin的location.hash="#admin".利用这个属性值可以做一个非常有意义的事情. 很多人都喜欢收藏网页,以便于以后的浏览.不过对于Ajax页面来说的话,一般用一个页面来处理所有的事务,也就是说,