MFC窗口及组件大小设置
MFC
一.桌面分辨率获取
1.获取桌面的大小,不包括状态栏
cxx = GetSystemMetrics(SM_CXFULLSCREEN);
cyy = GetSystemMetrics(SM_CYFULLSCREEN);
2.获取桌面的大小,包括状态栏 正真屏幕大小
cxx = GetSystemMetrics(SM_CXSCREEN);
cyy = GetSystemMetrics(SM_CYSCREEN);
二.软件各尺寸获取
1.获取软件的大小
CRect oWindowRect;
GetWindowRect( &oWindowRect );
2.获取客户区的大小(除去边框)
CRect oClientRect;
GetClientRect( &oClientRect );//获取客户区的大小
3.获取边框的大小
ULONG cx = oWindowRect.Width() - oClientRect.Width(); //窗口的宽 (边框)
ULONG cy = oWindowRect.Height() - oClientRect.Height(); //窗口的高(边框)
三.设置软件界面
1.MoveWindow函数
void MoveWindow(int x, int y, int nWidth, int nHeight, BOOL bRepaint = TRUE);
(x,y):设置窗口移动的位置,
(nWidth,nHeight):设置窗口的大小
- 使用方法1
GetDlgItem(IDC_BUTTON)->MoveWindow(0, 0, 100, 80);
- 使用方法2
定义控件的变量 m_btn
m_btn.MoveWindow(0, 0, 100, 80);
- 设置软件主界面的大小,在初始化函数OnInitDialog 添加如下代码
this->MoveWindow(0, 0, 100, 80);
2.SetWindowPos函数
SetWindowPos功能比较全,包含了MoveWindow的全部功能,设置组件和设置屏幕大小是一样的
- 使用方法1
GetDlgItem(IDC_BUTTON)->SetWindowPos(NULL, 0, 0, 100, 80, SWP_SHOWWINDW);
- 使用方法2
定义控件的变量 m_btn
m_btn.SetWindowPos(NULL, 0, 0, 100, 80, SWP_SHOWWINDW);
- 设置软件主界面的大小,在初始化函数OnInitDialog 添加如下代码
this->SetWindowPos(NULL, 0, 0, 100, 80, SWP_SHOWWINDW);
或者
SetWindowPos(&CWnd::wndTop, 0, 0, 100, 80, SWP_SHOWWINDW);
定位的标志
#define SWP_NOSIZE 0x0001 不改变尺寸(忽略cx,cy)#define SWP_NOMOVE 0x0002 不移动窗口位置(忽略x,y)#define SWP_NOZORDER 0x0004 维持当前Z序(忽略hWndlnsertAfter参数)#define SWP_NOREDRAW 0x0008 #define SWP_NOACTIVATE 0x0010#define SWP_FRAMECHANGED 0x0020 /* The frame changed: send WM_NCCALCSIZE */#define SWP_SHOWWINDOW 0x0040 显示窗口#define SWP_HIDEWINDOW 0x0080 隐藏窗口#define SWP_NOCOPYBITS 0x0100#define SWP_NOOWNERZORDER 0x0200 /* Don't do owner Z ordering */#define SWP_NOSENDCHANGING 0x0400 /* Don't send WM_WINDOWPOSCHANGING */#define SWP_DRAWFRAME SWP_FRAMECHANGED#define SWP_NOREPOSITION SWP_NOOWNERZORDER#define SWP_DEFERERASE 0x2000#define SWP_ASYNCWINDOWPOS 0x4000
- 如果窗口设置隐藏可以使用ShowWindow函数操作
m_btn.ShowWindow(TRUE)
或者
GetDlgItem(IDC_BUTTON)->ShowWindow(TRUE)
MFC窗口及组件大小设置相关推荐
- MFC窗口位置和大小的获取
最近在做一个项目,需要控件随对话框大小的变化而变化,因此需要准确获取对话框窗口.控件的大小和位置. 经过好一番查寻.测试,终于看到了希望.下面是一些获取窗口位置和大小的函数,示例如下: 1.获取屏幕分 ...
- VSCode窗口全部字体大小缩放设置 - 快捷键
VSCode窗口全部字体大小设置办法? 注意:这种修改是等比例修改,不影响之前代码的font-size统一与否. 如果,只是想单独修改代码编写区域的代码大小,可以查看文章:"VSCode字体 ...
- qt 设置ui窗口为固定大小_Qt 设置窗口居中显示和窗体大小
设置窗口居中显示 方法一:在窗口(QWidget类及派生类)的构造函数中添加如下代码: #include //....... QDesktopWidget* desktop = QApplicatio ...
- vue按钮字体大小设置_用Vue模仿antd的样式造UI组件之button
一.环境的配遇新是直朋能到置 1.新建一个遇新是直朋能到分览文件夹 mkdir eassyui 2.使用npm作为包管理新直能分支调二浏页器朋代说,工具 npm init -y 3件览客需和下于有快都 ...
- html%3ctd%3e文本自动换行,如何在表格中自动换行一列,并将表格大小设置为浏览器窗口...
我有一个带有3个"组"的HTML表格,左侧,中间和右侧.如何在表格中自动换行一列,并将表格大小设置为浏览器窗口 +--------------------------------- ...
- Delphi TScrollBar 用于滚动窗口、组件内容
滚动条组件(TScrollBar)此组件是一个Windows滚动条,用于滚动窗口.组件内容.许多控制有滚动条属性,它们把滚动条作为自己的一部分,对于没有完整滚动条的控制,TScrollBar组件提供了 ...
- opencv在mfc窗口显示图片
mfc显示mat图片的两种方式 方式一:将opencv的窗口嵌入到mfc的窗口内 将opencv窗口与mfc窗口绑定之后就可以通过cv::imshow("video",img)显示 ...
- java flowlayout参数_【Java布局】FlowLayout布局时设定组件大小
默认的JPanel中,采用的是FlowLayout布局 下面是api中的定义: JPanel(boolean isDoubleBuffered) 创建具有 FlowLayout 和指定缓冲策略的新 J ...
- java应用窗口大小_java 如何让程序窗口随屏幕大小改变 | 学步园
这个问题一直困扰我很长时间了,虽然工作了一段时间,但感觉连这个问题都解决不好的话,实在对不起自己.今天我终于抽出时间,好好网上找了下资料,然后写了个简单的记事本程序,感觉是我想要的结果.所以在这里把程 ...
最新文章
- 使用 .NET 对事件进行编程
- Firebird数据库系统的开发团队
- python画椭圆-python绘制圆和椭圆
- springboot 定时器_基于SpringCloud?+?SpringBoot的 SaaS型微服务脚手架源码分享
- mysql里concat什么意思_mysql里concat函数和 ‘’|‘’ 符号一起用是表示什么?
- 分布式服务框架dubbo原理解析 转
- python asyncio和celery对比_如何将Celery与asyncio结合? - python
- C++ 0x 使用可变参数模板类 实现 C# 的委托机制
- android 网络编程面试题,Android面试题整理
- 旅程落幕!网易相册将停止运营 这里有你的回忆吗?
- Mysql优化(出自官方文档) - 第三篇
- c语言编程定义符号,C语言:条件编译及预定义符号知识详解
- STM32F030R8移植freeModbus协议栈
- 获取Android设备唯一标识(唯一序列号)
- 【JWT】JWT JWS JWE | 在线JWS解析工具
- 如何在供应链金融中防范风险?
- 大四狗:我的java历程(续)
- 那些曾让你哭过的事,总有一天会笑着说出来
- 选择电容要考虑哪些点?
- M1 macbook spicy和numpy版本不匹配
热门文章
- 【计算机网络】数据链路层 : CSMA/CA 协议 ( 载波监听多点接入 / 碰撞避免 协议 | CSMA/CA 协议工作原理 | CSMA/CD 协议 与 CSMA/CA 协议对比 )
- Flyway 数据库版本控制
- Android Studio 是谷歌基于IntelliJ IDEA开发的安卓开发工具,有点类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调
- 智能密集仓储自动化立体冷库 拥有WMS指令RGV小车的立体冷库
- C# TextBox换行功能实现
- 第十八章 CSP Session 管理 - 与 CSP.Session 的Sessions
- Linux系统sendmail发送邮件
- 从excel表格中批量给图片重命名
- 网红泡泡屋,是如何火爆餐饮、民宿及景区市场的?
- WPF - 界面美化 MahApps.Metro UI