首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Win32中的窗口边框宽度和高度 - 我如何获得它?

在Windows编程中,可以使用GetSystemMetrics函数来获取窗口边框的宽度和高度。以下是一个简单的示例:

代码语言:c++
复制
#include<windows.h>
#include<iostream>

int main() {
    int borderWidth = GetSystemMetrics(SM_CXFRAME) + GetSystemMetrics(SM_CXPADDEDBORDER);
    int borderHeight = GetSystemMetrics(SM_CYFRAME) + GetSystemMetrics(SM_CXPADDEDBORDER);

    std::cout << "窗口边框宽度: "<< borderWidth<< std::endl;
    std::cout << "窗口边框高度: "<< borderHeight<< std::endl;

    return 0;
}

在这个示例中,我们使用GetSystemMetrics函数来获取窗口边框的宽度和高度。SM_CXFRAMESM_CYFRAME参数分别用于获取边框的宽度和高度,而SM_CXPADDEDBORDER用于获取边框的额外填充。最后,我们将这些值相加以获得完整的边框宽度和高度。

请注意,这个示例使用了C++编程语言,并且需要Windows头文件和库才能编译和运行。如果您使用的是其他编程语言或平台,请查找相应的方法来获取窗口边框的宽度和高度。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何在onCreate获取View高度宽度

如何在onCreate获取View高度宽度 在开发过程中经常需要获取到View宽和高,可以通过View.getWidth()View.getHeight()来得到宽高。...然而新手们经常在onCreate方法中直接调用上面两个方法得到值是0! 这是为什么呢? 因为View绘制是通过两个遍历来完成,一个measure过程,一个layout过程。...只有经过“测量”“布局”之后,View才能正确地完成绘制。而这一切是发生在onCreate方法之后。...所以在onCreate中直接使用View.getWidth()View.getHeight()是无法得到正确。 那应该怎么onCreate获取View宽高呢?...开发者可以通过View.post()方法来获取到View宽高,该方法传递一个Runnable参数,然后将其添加到消息队列,最后在UI线程执行。

5.3K20
  • android如何获取view在布局高度宽度详解

    前言 可能很多情况下,我们都会有在activity获取view 尺寸大小(宽度高度需求。面对这种情况,很多同学立马反应:这么简单问题,还用你说?你是不是傻。。...当我们在 onCreate() 方法获取某个 View 组件宽度高度,直接调用 getWidth()、getHeight()、getMeasuredWidth()、getMeasuredHeight...下面来一起看看吧 实现方法 一、使用 View.measure 测量 View 该方法测量宽度高度可能与视图绘制完成后真实宽度高度不一致。...,会被多次调用,因此需要在获取到视图宽度高度后执行 remove 方法移除该监听事件。...,需要在一次add代码创建view,使用上面的方法无法获得宽高,因为使用是ScrollView。

    6K10

    在 WPF 程序应用 Windows 10 真•亚克力效果

    从 Windows 10 (1803) 开始,Win32 应用也可以有 API 来实现原生亚克力效果了。不过相比于 UWP 来说,可定制性会差很多。...本文介绍如何在 WPF 程序应用 Windows 10 真•亚克力效果。(而不是一些流行项目里面自己绘制亚克力效果。)...---- API 需要使用 API 是微软文档并未公开 SetWindowCompositionAttribute。...在另一篇博客中有介绍此 API 各种用法效果,详见: 使用 SetWindowCompositionAttribute 来控制程序窗口边框背景(可以做 Acrylic 亚克力效果、模糊效果、主题色效果等...如何使用 为了方便地让你窗口获得亚克力效果,做了两层不同 API: AcrylicBrush 当然,受到 Win32 启用亚克力效果限制,只能在窗口上设置此属性 WindowAccentCompositor

    45910

    如何在WebStorm获得对数据库工具SQL支持

    虽然我们没有将数据库插件与 WebStorm 捆绑在一起,但早就有办法通过购买DataGrip或所有产品包订阅来获得里面的数据库 SQL 支持,这将允许你安装数据库插件并在 WebStorm 中使用它...此选项并非最佳选择,因为需要你为更昂贵 DataGrip 或“所有产品包”订阅付费。你一直在要求我们找到更好方法,而我们终于可以说我们做到了!...从 v2020.2 开始,你可以订阅我们数据库插件,并在 WebStorm 以合理价格使用它。 如何试用该插件 要安装插件,请转至“首选项/设置” |“设置”。...单击搜索结果“Database tools and SQL”插件旁边“Install”按钮,然后重新启动 IDE。 接下来,系统将提示你激活许可证。如果你已经有一个,你可以在那里直接激活。...为你在 WebStorm 项目提供类似的编码协助。 多种导入导出数据选项。 如果你想了解更多有关可用功能信息,请访问此网页,你也可以查看DataGrip 博客,以了解最新改进新闻。

    3.8K30

    页面彈出各种窗口詳解

    现在将这里一些参数说明一下。 dialogHeight: iHeight 设置对话框窗口高度。 dialogWidth: iWidth 设置对话框窗口宽度。   ...,在窗口特性参数可指定窗口高度宽度,是否显示菜单栏、工具栏等。...通过研究,发现可以使用 DHTML Image 对象来达到我们目的,Image 对象可动态装载指定图片,通过读取其 width height 属性即能获得装入图片大小,以此来设置弹出窗口大小...= 0)) // 根据取得图像高度宽度设置弹出窗口高度宽度,并打开该窗口 // 其中增量 20 30 是设置窗口边框与图片间间隔量 OpenFullSizeWindow(theURL...有点不同,多了HTA:APPLICATION标签,这就是关键之处,hta通过来提供一系列面向应用程序功能,接下来再讲一讲属性(头又在发胀) APPLICATIONNAME属性(applicationName

    2.6K21

    WPF 使用 WindowChrome,在自定义窗口标题栏同时最大程度保留原生窗口样式(类似 UWPChrome)

    窗口边框颜色 虽然窗口边框是被广为吐槽一点,但为了保证一致窗口体验,这也是需要模拟;正常情况失焦情况颜色还不一样。...测量了一下 Microsoft Store 应用按钮高度,是 32。 ? 但是,这 32 包括了顶部 1 像素边框吗?使用放大镜查看,发现是包含。 ?...30 高度,但最大化时还是 30 高度这一点与原生 UWP 窗口 Chrome 行为是类似的。...然而我们还发现,Google Chrome 是定制了这三个按钮背景色,正在研究做法。 不过 Win32 原生方法顶多只支持修改标题栏按钮背景色,而不支持让标题栏按钮全透明。...也就是说,Win32 原生方法也许能达到 Google Chrome 效果,但不可能达到 UWP 效果。 为了完全模拟 UWP,标题栏上按钮只能自绘了。

    6.4K20

    WPF 使用 WindowChrome,在自定义窗口标题栏同时最大程度保留原生窗口样式(类似 UWPChrome)

    窗口边框颜色 虽然窗口边框是被广为吐槽一点,但为了保证一致窗口体验,这也是需要模拟;正常情况失焦情况颜色还不一样。...测量了一下 Microsoft Store 应用按钮高度,是 32。 但是,这 32 包括了顶部 1 像素边框吗?使用放大镜查看,发现是包含。...30 高度,但最大化时还是 30 高度这一点与原生 UWP 窗口 Chrome 行为是类似的。...然而我们还发现,Google Chrome 是定制了这三个按钮背景色,正在研究做法。 不过 Win32 原生方法顶多只支持修改标题栏按钮背景色,而不支持让标题栏按钮全透明。...也就是说,Win32 原生方法也许能达到 Google Chrome 效果,但不可能达到 UWP 效果。 为了完全模拟 UWP,标题栏上按钮只能自绘了。

    1.7K60

    2.QT-窗口组件(QWidget),QT坐标系统,初探消息处理(信号与槽)

    可以看到生成了一个窗口,然后我们来看看模板代码,是如何生成. 3)模板代码如下所示 #include #include "widget.h" int main...() :  设置窗口内部x,y,w,h(不包括标题窗口边框) size()  :  获取窗口部件大小 pos() :   获取窗口部件位置 x()  :      获取整个窗口x坐标 y()  ...:      获取整个窗口y坐标 width()  : 获取窗口内部宽度(不包括外边框宽度) height()  :  获取窗口内部高度(不包括窗口标题栏高度) const QRect&  geometry...()  :   获取窗口内部x,y,w,h(不包括标题窗口边框) const QRect&  framgeometry ()  :   获取整个窗口x,y,w,h 可以参考下图所示 ?...()都是系统预定义好,接下来我们自定义槽 首先需要注意 类声明槽(处理信号成员函数)时,需要slots声明 槽信号函数参数必须一致,比如clicked()quit()都是无参数 SIGNAL

    2.1K40

    dotnet 读 WPF 源代码笔记 使用 Win32 方法修改窗口坐标大小对窗口依赖属性影响

    ,此时点击时候,依赖属性也跟随变化 再来实现修改窗口大小方法,点击方法将调用 SetWindowPos 方法修改窗口宽度高度 private void SizeButton_OnClick...DoubleUtil.AreClose(_actualTop, ptLogicalUnits.Y)) { // 忽略代码 } 如果此时在使用 Win32 更改过程,也修改了 Left ...可以看到此时 _actualLeft _actualTop Win32 相同,此时就不会再次调用更新了,此时 Left Top 依赖属性就没有 Win32 同步了 上面是说到是修改窗口坐标...Windows 消息,更新依赖属性,而在 Left Top 属性更新里面,会先判断 _actualLeft _actualTop 是否 Win32 相同,如果相同就不更新,因此行为上宽度高度属性有点差别...但是宽度高度属性就没有这个判断 当前 WPF 在 https://github.com/dotnet/wpf 完全开源,使用友好 MIT 协议,意味着允许任何人任何组织企业任意处置,包括使用,复制

    75120

    数字时钟

    本期文章就介绍下数字时钟制作过程,介绍内容还是以未加缓存动画制作过程为主 后台回复关键字【数字时钟】获取更新之后源程序源代码,还有参考时钟程序 01 win32框架 首先呢,还是用的上周发送...,已经讲述了如何利用windowsAPI对窗口进行移动追加菜单并对菜单功能进行实现,以及定时器开启使用。...0,按默认高度来设置 0, //字符宽度,如果给0,按高度横纵比来匹配宽度 0, //文字倾斜角度,10表示1度...坐标 在数字时钟制作过程依据是通过一个圆圈旋转使得x坐标轴上时间为系统时间,上述变量变量initOrg是月份或者日期第一个时间点旋转角度 变量data_x是时间绘制横向坐标,使得月份...后面的代码这个月份都是一个样,CV,然后修改一些变量就可以了,源代码里面写还算清楚,可以参考下。 在给出百度文件下还有添加了简单动画和缓冲源代码,有兴趣可以了解下缓冲。

    1.7K30

    Android开发(31)处理缩略图和解决getWidth为0

    但是这个方法需要指定ImageView宽度高度,我们需要解决如何获得宽度高度问题。 需求 有个 imageView ,用于显示图片。...使用 asyncTask获得图片,并准备在这个imageView 显示该图片缩略图,准备使用 ThumbnailUtils.extractThumbnail 方法生成缩略图。...类型) width 压缩成宽度 height 压缩成高度 这里需要一个宽度高度参数,要想再imageView里填满图片的话,这里就应该传入imageView宽度高度...问题 我们在 activity onCreate,onStart方法,直接调用 imageView.getWidth 方法获得宽度始终为0。...vto2.addOnGlobalLayoutListener() 3.实现OnGlobalLayoutListener,在实现方法里调用 imageView.getWidth 获得宽度

    65500

    初识win32

    编程也有它自己优势,学习windows编程的人喜欢就是DLL注入,钩子之类东西,觉得很装逼 确实,曾经也因为这个原因而学习这方面的知识,后来,现实打败了,于是老老实实学着Linux内核...还有一个原因就是,如果可以,自己码一遍win32框架,有助于理解学习 ? ?...win32只是调用了这几个API函数RegisterClassEx、CreateWindowEx、ShowWindow、UpdateWindow、GetMessage、 DispatchMessage...例如:(VS下选中变量右键转到定义) typedef unsigned int UINT; 在上面代码需要注意是注册窗口类名必须创建窗口类名一致,否则创建窗口失败 ?...然后就是那些函数参数介绍了,在这里就不介绍了,因为太多了,告诉大家一个方法 在VS,选中要查询函数或者宏,按F1键,函数介绍相关信息就会出来了,特别全 例如我选中CS_HREDRAW,按下

    1.1K30

    WPF 多指触摸拖拽窗口 拖动修改窗口坐标

    在 WPF ,如果是鼠标点击拖动窗口坐标,可以调用 Window DragMove 方法,但是如果是触摸,就需要自己调用 Win32 方法实现 在 WPF ,调用 Window DragMove...适用于客户区非客户区(包括标题栏滚动条)任何由于窗回移动而露出父窗口所有部分。如果设置了这个标志,应用程序必须明确地使窗口无效并区重画窗口任何部分父窗口需要重画部分。...若想获得更多错误消息,请调用 GetLastError 函数。...value)); } } /// /// 通过 x、y 坐标宽度高度创建矩形...,还请参阅测试代码从里面抄代码解决找不到某个类 本文代码放在github欢迎小伙伴访问 关于 Win32 方法定义,推荐使用官方 dotnet/pinvoke: A library containing

    2.2K30

    【实战项目】想自己通过C语言编写贪吃蛇吗?先来学习一下什么是WIN32API

    相信大家现在看完这些介绍还是有一点似懂非懂状态,没关系,我们现在只需要知道一件事——我们今天要学习如何调用WIN32 API各个函数。...其实在上述调试过程我们之所以能发现修改过程,这是因为我们是在一步一步运行,也就是说,只要让程序在修改完标题后能够停下来,不是直接介绍,那是不是就能看到修改过程了呢?...X轴表示就是一个字符宽度,而Y轴表示是一个字符高度,那么我们就可以得到对应网格坐标系,如下图所示: 看到这两张图,相信大家都应该能够理解COORD这个结构体了,那是不是说只要修改了对应对标值...在今天内容我们就不展开讨论了,在下一个篇章我们再好好探讨一下; 有朋友可能会说,如果想获取坐标的位置信息又该如何操作呢?...结语 在今天篇章我们详细介绍了需要实现贪吃蛇项目的话需要掌握Win32 API部分指令与函数: 设置控制台窗口大小标题指令以及控制台中暂停指令; 获取控制台屏幕缓冲区函数——GetStdHandle

    14910

    宝, 来学习一下CSS宽高比,让 h5 开发更想你夜!

    在图像其他响应式元素宽度高度之间有一个一致比例是很重要。在CSS,我们使用padding hack已经很多年了,但现在我们在CSS中有了原生长宽比支持。...在网页设计,高宽比概念是用来描述图像宽度高度应按比例调整。 考虑下图 比率是4:3,这表明苹果葡萄比例是4:3。 换句话说,我们可以为宽高比为4:3最小框是4px * 3px框。...它有助于设计师创建一个图像大小清晰指南,这样开发者就可以在开发过程处理它们。 计算宽高比 为了测量宽高比,我们需要将宽度除以如下图所示高度宽度高度之间比例是1.33。...请考虑 注意右边图片,宽度÷高度值是 1.02,这不是原来长宽比(1.33或4:3)。 你可能在想,如何得出4:3这个数值?嗯,这被称为最接近正常长宽比,有一些工具可以帮助我们找到。...另外,图片是绝对定位,它有父元素全部宽度高度,有object-fit: cover,用于上传不同大小图片情况。请看下面的动图。 请注意,卡片大小变化缩略图长宽比没有受到影响。

    1.6K30
    领券