PreCreateWindow作用
在现有应用程序中更改样式
如果是正在现有应用程序中更改窗口属性,则遵循本文其余部分的说明。
若要更改框架应用程序(用应用程序向导创建的)所使用的默认窗口属性,请重写窗口的 PreCreateWindow 虚拟成员函数。PreCreateWindow 允许应用程序访问通常由 CDocTemplate 类内部管理的创建进程。框架在即将创建窗口前调用 PreCreateWindow。通过修改传递给 PreCreateWindow 的结构 CREATESTRUCT,应用程序可以更改用于创建窗口的属性。例如,为了确保窗口不使用标题,使用以下按位操作。
// cs has been declared as CREATESTRUCT& cs; cs.style &= ~WS_CAPTION;
CTRLBARS 示例应用程序论证了这项更改窗口属性的技术。根据应用程序在 PreCreateWindow 中的更改,可能有必要调用此函数的基类实现。
以下讨论适用于 SDI 情况和 MDI 情况。
SDI 情况
在单文档界面 (SDI) 应用程序中,框架中的默认窗口样式是
WS_OVERLAPPEDWINDOW 和 FWS_ADDTOTITLE 样式的组合。
FWS_ADDTOTITLE 是 MFC 特定的样式,指示框架将文档标题添加到窗口标题。若要在 SDI 应用程序中更改窗口属性,请在从 CFrameWnd(应用程序向导给 CMainFrame 起的名称)派生的类中重写 PreCreateWindow 函数。例如:
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) {
// Create a window without min/max buttons or sizable border cs.style = WS_OVERLAPPED | WS_SYSMENU | WS_BORDER;
// Size the window to 1/3 screen size and center it cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 3; cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3; cs.y = ((cs.cy * 3) - cs.cy) / 2; cs.x = ((cs.cx * 3) - cs.cx) / 2;
// Call the base-class version
return CFrameWnd::PreCreateWindow(cs); }
此代码创建一个没有“最小化”按钮和“最大化”按钮,也没有大小可调边框的主框架窗口。此窗口最初在屏幕上居中。
MDI 情况
更改多文档界面 (MDI) 应用程序中的子窗口样式所需的工作多一些。默认情况下,用应用程序向导创建的 MDI 应用程序使用 MFC 中定义的默认 CMDIChildWnd 类。若要更改 MDI 子窗口的窗口样式,必须从 CMDIChildWnd 派生一个新类,并用对新类的引用
var script = document.createElement('script'); script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'; document.body.appendChild(script);
替换项目中所有对 CMDIChildWnd 的引用。应用程序中仅有的对 CMDIChildWnd 的引用很可能位于应用程序的 InitInstance 成员函数中。
在 MDI 应用程序中使用的默认窗口样式是 WS_CHILD、WS_OVERLAPPEDWINDOW 和 FWS_ADDTOTITLE 样式的组合。若要更改 MDI 应用程序子窗口的窗口属性,请在从 CMDIChildWnd 派生的类中重写 PreCreateWindow 函数。例如:
BOOL CMyChildWnd::PreCreateWindow(CREATESTRUCT& cs) {
// Create a child window without the maximize button cs.style &= ~WS_MAXIMIZEBOX;
// Call the base-class version
return CMDIChildWnd::PreCreateWindow(cs); }此代码创建没有“最大化”按钮的 MDI 子窗口。
简单的说,就是在创建一个窗口之前,会调用这个函数,你可以通过修改参数CREATESTRUCT结构来事先修改要创建的这个窗口的一些特征。
转载网址:http://wenku.baidu.com/link?url=qNkQ-V-HblY97bkQfqnhxbvvGOEZ4yaj9HzAWL2LzhKK8FPZIpa0R49AdO-s7igi6ri2j-yGNqLQzquCnhicmDUQIqdWUzSsMabt5-zYqUK
PreCreateWindow作用相关推荐
- Object的finalize()方法的作用是否与C++的析构函数作用相同
Object的finalize()方法的作用是否与C++的析构函数作用相同 public class Finalization {private static Finalization finaliz ...
- 浅显易懂 Makefile 入门 (02)— 普通变量和自动变量定义、使用($@、$^、$< 作用)、变量覆盖 override、变量的来源 origin
1. 变量的定义 Makefile 文件中定义变量的基本语法如下: 变量的名称=值列表 变量的名称可以由大小写字母.阿拉伯数字和下划线构成.等号左右的空白符没有明确的要求,因为在执行 make 的时候 ...
- 【B/S实践】解决:vs中修改样式表后不起作用的问题
缓存,有好多,cpu和内存之间的三级缓存,浏览器内的缓存! 缓存是因为速率不对等,通过缓存来加速内容的显示! 今天我在敲牛腩的时候遇到一个问题,找了半小时,才发现是缓存导致的问题! 试着运行aspx文 ...
- 卷积神经网络之卷积计算、作用与思想 深度学习
博客:blog.shinelee.me | 博客园 | CSDN 卷积运算与相关运算 在计算机视觉领域,卷积核.滤波器通常为较小尺寸的矩阵,比如3×33×3.从这个角度看,多层卷积是在进行逐层映射,整 ...
- 机器学习——标准化/归一化的目的、作用和场景
对每个特征进行归一化处理,使得每个特征的取值缩放到0~1之间.这样做有两个好处: 模型训练更高效. 特征前的权重大小可代表该变量对预测结果的贡献度(因为每个特征值本身的范围相同). (一)归一化的作用 ...
- Linux操作系统下文件作用
linux下的文件结构,看看每个文件夹都是干吗用的 /bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的 ...
- python sys.argv[] 的作用
sys.argv[]是什么 argv 是sys库里面的所以使用的 需要先引入sys (使用import sys) sys.argv[]的作用 从程序外获取参数,怎样理解呢,例如在终端中运行test脚本 ...
- C++ namespace 的作用以及使用
namespace 是什么: 命名空间(namespace)是一种描述逻辑分组的机制,可以将按某些标准在逻辑上属于同一个任务中的所有类声明放在同一个命名空间中.标准C++库(不包括标准C库)中所包含的 ...
- Android Environment 的作用以及常用的方法
从源码中可以看到这样一句话 Provides access to environment variables Environment的作用是: 提供对环境变量的访问 常见的方法 //外部存储设备的当 ...
最新文章
- JSP项目目录中每个文件夹及配置文件的作用
- python对MySQL进行添加修改删除以及字符串的操作
- 【Google Play】IARC 年龄分级 ( IARC 国际年龄分级联盟 | Google Play 设置应用年龄分级 )
- 手把手教你写一个Java的orm框架(4)
- 又一所新大学来了!投资百亿,对标国际一流大学
- ffmpeg 音乐循环_[宜配屋]听图阁
- 15-[JavaScript]-ECMAScript 1
- 浅析tornado协程运行原理
- office组件导入导出常见异常记录
- oracle 调整缓存大小,设置数据缓冲大小_oracle
- Adobe Acrobat reading untagged document window pops up
- python 拼图验证码
- 多年录制游戏的心得分享
- J2EE进阶之JSP和EL表达式 十二
- 数组的entries()方法
- 初学DSP(1)-TMS320F280049C入门
- 基于单片机的CO2温湿度电路设计(#0217)
- RTP/RTSP/RTCP 协议详解
- mpvue实现类似通讯录锚点
- Python线程详解
热门文章
- ARCore之路:ARCore 中的 Session Config 配置中的参数介绍
- python 找到装饰器_[译] 12步轻松搞定python装饰器
- 远程桌面连接软件轻松实现远程移动办公
- 一卡通技术IC卡概述及分类
- 成兴光 | LED灯珠的封装形式
- 公众号榜单 | 2020·5月公众号地区排行榜重磅发布
- Social-STGCNN: A Social Spatio-Temporal GCNN for Human Trajectory Prediction(CVPR2020)论文阅读笔记
- 阿里巴巴的卫哲现在在做的事
- 安捷伦示波器DSO-X3034A进入不了测试界面是什么原因?
- 柯达四年后彻底退出胶卷业务