当前位置: 首页 > news >正文

视图窗口的客户区

书籍:《Visual C++ 2017从入门到精通》的2.4.2 MFC应用程序类型

环境:visual studio 2022

内容:【例2.38】视图窗口的客户区

说明:以下内容大部分来自腾讯元宝。

1.创建一个单文档程序

一个简单的单文档程序-CSDN博客https://blog.csdn.net/qq_20725221/article/details/146395687?spm=1001.2014.3001.55022.新增”主框架窗口的客户区尺寸“和”视图窗口的客户区尺寸“两个子菜单。

3.设置”主框架窗口的客户区尺寸“的ID设置为ID_MAIN_SIZE。

 

4.为”主框架窗口的客户区尺寸“添加事件处理程序”。

5.类列表为CMainFrame,消息类型设置为COMMAND.

 6.在事件处理程序中添加以下代码,获取CMainFrame窗口的大小。

void CMainFrame::OnMainSize()
{
	// TODO: 在此添加命令处理程序代码
	CRect rt;
	CString str;
	GetClientRect(&rt);
	str.Format(_T("主窗口客户区的宽度:%d, 高度:%d."), rt.Width(), rt.Height());
	AfxMessageBox(str);
}

7.运行,点击”主框架窗口的客户区尺寸“菜单,可知宽度为:1422,高度为:758.

8.同理,为”视图窗口的客户区尺寸“菜单添加类列表为“CTest239View”的事件。

9.在事件处理程序中添加以下代码,获取CTest239View窗口的大小。

void CTest239View::OnViewSize()
{
	// TODO: 在此添加命令处理程序代码
	CRect rt;
	CString str;

	GetClientRect(&rt);
	str.Format(_T("视图窗口客户区的宽度:%d, 高度:%d"), rt.Width(), rt.Height());

	AfxMessageBox(str);
}

10.运行,点击”视图窗口的客户区尺寸“,可知宽度为:1418,高度为:708.

11.由二者宽度分别为1422和1418,相差4,这4便是视图窗口左右边框的宽度之和

12.去除视图窗口边框。

13.重新编译,执行,分别点击”主框架窗口的客户区尺寸“菜单和”视图窗口的客户区尺寸“菜单,宽度一样大了

14.将视图下的“工具栏”和“状态栏”下的勾都去掉,隐藏工具栏。

14.然后分别点击”主框架窗口的客户区尺寸“菜单和”视图窗口的客户区尺寸“菜单,宽度和高度都一样大了

相关内容

CRect的简单介绍-CSDN博客https://blog.csdn.net/qq_20725221/article/details/145987429?ops_request_misc=%257B%2522request%255Fid%2522%253A%25222d7e27e790a1888aa8763a5e159be448%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=2d7e27e790a1888aa8763a5e159be448&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-145987429-null-null.nonecase&utm_term=CRECT&spm=1018.2226.3001.4450GetClientRect()和InvalidateRect()的使用-CSDN博客https://blog.csdn.net/qq_20725221/article/details/146113799?ops_request_misc=%257B%2522request%255Fid%2522%253A%25223621a3d9096ca75d660b43ac68f79493%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=3621a3d9096ca75d660b43ac68f79493&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-146113799-null-null.nonecase&utm_term=GetClientRect&spm=1018.2226.3001.4450

相关文章:

  • Android Coil3 Fetcher preload批量Bitmap拼接扁平宽图,Kotlin
  • 【VolView】纯前端实现CT三维重建-CBCT
  • Python中的优化函数5:优化的一些处理技巧
  • 如何选择合适的 AI 模型?(开源 vs 商业 API,应用场景分析)
  • 基于SpringBoot的“校园招聘网站”的设计与实现(源码+数据库+文档+PPT)
  • 从零开始驯服Linux(一):ZYNQ-Linux启动文件构建全解析
  • 【Linux】快速上手Makeflie CMake
  • 神聖的綫性代數速成例題10. N維矢量綫性運算、矢量由矢量組綫性表示、N個N維矢量相關性質
  • RC5解密工具
  • socks 协议介绍
  • 【Editor】动态添加/移除宏定义
  • css重点知识汇总(一)
  • 人工智能在2025年:各行业现状与变革
  • CMS漏洞-WordPress篇
  • 掌握 Shopee 商品数据:用爬虫解锁无限商机
  • Linux Vim 寄存器 | 从基础分类到高级应用
  • 2024年数维杯数学建模A题多源机会信号建模与导航分析解题全过程论文及程序
  • 某著名企业采购供应链及财务管理业务流程框架规划方案P172(172页PPT)(文末有下载方式)
  • 目标检测中的非极大值抑制(NMS)原理与实现解析
  • AI时代,快时尚服饰品牌的DTC官方商城体系如何构建?|商派
  • 商务部新闻发言人就美国企图全球禁用中国先进计算芯片发表谈话
  • 韩国总统选举白热化进行中,中韩青年民间交流促两国友好往来
  • 让中小学生体验不同职业,上海中高职院校提供超5万个体验名额
  • 男子服用头孢后饮酒应酬致昏迷在家,救援人员破门施救后脱险
  • 新华时评:博物馆正以可亲可近替代“高冷范儿”
  • 大外交丨3天拿下数万亿美元投资,特朗普在中东做经济“加法”和政治“减法”