在Win32下让窗口居中

Python 将GUI窗口显示在屏幕中间,需要用到win32api 使用tkinter画GUI时需要让窗口自动居中,以下便是实现方法:# 通过win32api获取系统屏幕的分辨率 def get_system_metrics(): from win32api import GetSystemMetrics return GetSystemMetrics(0),GetSystemMetrics(1)# 传入窗口大小(分辨率)计算出窗口居中的位置 def 阅读详情
 
BOOL CenterWindow(HWND hwndWindow)
{
     HWND hwndParent;
     RECT rectWindow, rectParent;
 
     // make the window relative to its parent
     if ((hwndParent = GetParent(hwndWindow)) != NULL)
     {
         GetWindowRect(hwndWindow, &rectWindow);
         GetWindowRect(hwndParent, &rectParent);
 
         int nWidth = rectWindow.right - rectWindow.left;
         int nHeight = rectWindow.bottom - rectWindow.top;
 
         int nX = ((rectParent.right - rectParent.left) - nWidth) / 2 + rectParent.left;
         int nY = ((rectParent.bottom - rectParent.top) - nHeight) / 2 + rectParent.top;
 
         int nScreenWidth = GetSystemMetrics(SM_CXSCREEN);
         int nScreenHeight = GetSystemMetrics(SM_CYSCREEN);
 
         // make sure that the dialog box never moves outside of the screen
         if (nX < 0) nX = 0;
         if (nY < 0) nY = 0;
         if (nX + nWidth > nScreenWidth) nX = nScreenWidth - nWidth;
         if (nY + nHeight > nScreenHeight) nY = nScreenHeight - nHeight;
 
         MoveWindow(hwndWindow, nX, nY, nWidth, nHeight, FALSE);
 
         return TRUE;
     }
 
     return FALSE;
}

窗体居中 vc CenterWindow 窗体居中显示 vc CenterWindow 窗体居中 vc CenterWindow 窗体居中 vc CenterWindow 立即下载

相关推荐

杂记 | 使用keycloak实现SSO单点登录(新手向,概念、原理、逻辑、详细步骤、难点解释)

使用keycloak实现SSO单点登录(概念、原理、逻辑、详细步骤、难点解释)

野生猿林仔的博客 2万+

MFC中窗口居中显示

对于一个窗体,可以使用其CenterWindow方法将其居中,CenterWindow方法有一个参数,通过其指定居中操作相对应的父窗口。如果要设置居中相对应的父窗体的话,可以将父窗体指针传入pAlternateOwner参数,如果pAlternateOwner参数为NULL,则将窗体在整个屏幕上居中。方法中调用,用于在窗口开始显示时居中,也可以在其他地方使用。方法有一个参数,通过其指定居中操作相对应的父窗口。对于一个窗体,可以使用其。

YoseZang的博客 1895

导数在工程与AI中的12个实战应用解析

导数作为数学中的基本概念,本质是描述变化率的工具,其核心价值在于将非线性问题局部线性化处理。从原理上看,通过极限过程捕捉函数瞬时变化特性,使工程师能精确控制系统动态行为,帮助科学家量化自然规律变化速率。在技术实现层面,现代符号计算(如Mathematica)、数值计算(如MATLAB)和自动微分(如PyTorch)工具链的发展,大幅提升了导数计算的效率与精度。典型应用场景涵盖机械控制(如ABS防抱死系统)、金融工程(如期权希腊值计算)、医疗影像(如Canny边缘检测)等领域。特别在机器学习中,反向传播算法依

weixin_35509395的博客 316

置顶窗口SetWindowPos()的用法

SetWindowPos()        函数功能:该函数改变一个子窗口,弹出式窗口式顶层窗口的尺寸,位置和Z序。子窗口,弹出式窗口,及顶层窗口根据它们在屏幕上出现的顺序排序、顶层窗口设置的级别最高,并且被设置为Z序的第一个窗口。        函数原型:BOOL SetWindowPos(HWN hWnd,HWND hWndlnsertAfter,int X,int Y,int cx,in

熊小屁的专栏 2万+

你的Wi-Fi总断网?可能是DHCP租约到期惹的祸!手把手教你用Windows/路由器设置永久IP或延长租期

本文深入解析家庭Wi-Fi频繁断网的常见原因——DHCP租约到期问题,并提供Windows和路由器设置永久IP或延长租期的详细教程。通过对比静态IP配置与延长租期两种方案,帮助用户有效解决网络不稳定问题,特别适合游戏玩家和远程工作者优化家庭网络环境。

weixin_29305313的博客 1412

Silvaco Atlas从头开始(四)——定义材料参数和模型

这部分是关于定义材料参数和模型。

qsz1425AWD2121的博客 4649

一个更好的CenterWindow()函数

下载演示项目- 42.2 kb图1。主CenterSample程序示例屏幕。 介绍 定心窗口在屏幕上是你通常可以做的 CWnd::CenterWindow()函数在MFC。CenterWindow () 获取一个指向CWnd的指针作为参数,并且假定是函数 是否会将调用它的窗口的中心与传递它的窗口相对 一个指针: 隐藏,复制CodepDlg->CenterWindow(AfxGetMainWnd()); // Centers pDlg against the main window? 清单1。演示使用C

DiyAbc 898

学Simulink--决策规划场景实例:基于Simulink的智能车辆行为决策仿真

本文基于Simulink平台构建智能车辆变道决策仿真系统,采用MOBIL算法实现"决策-规划-执行"全流程。系统包含自车动力学模型、环境感知模块(含5%噪声)、决策控制器和轨迹规划模块,通过五次多项式实现平滑变道。仿真验证了三种典型工况:正常变道(成功率100%)、邻车拒绝让行和紧急避障,各项指标均满足要求(TTC>3s,横向加速度<2m/s²,决策周期<100ms)。文章详细介绍了建模步骤、核心算法实现和参数配置方法,并提出了强化学习、多车协同等优化方向。该模型为智能

amy_mhd的博客 151

win32设置窗口的居中显示

一 代码 POINT lefttop; lefttop.x = (GetSystemMetrics(SM_CXSCREEN) - (rect.right - rect.left)) / 2; lefttop.y = (GetSystemMetrics(SM_CYSCREEN) - (rect.bottom - rect.top)) / 2; rect.left += lefttop.x; rect...

字节跳动 1628

机器人控制基础:伺服驱动器的泄放电阻

摘要:伺服驱动器泄放电阻用于消耗电机减速或制动时产生的再生电能,防止母线电压过高损坏元件。其核心作用是将多余电能转化为热能,规避硬件损坏和停机风险。选型需关注功率、阻值和封装三大参数,功率应匹配再生能量,阻值需符合驱动器要求,封装应满足散热需求。可通过动态监测母线电压或静态检测电阻阻值来判断其是否正常工作。

start_up_go的博客 381

关于React Native Android找不到node的错误

最近,按照官方文档初始化了一个React Native项目,但是在Android端运行的时候,报了如下的一个错误。 org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:recordFilesBeforeBundleCommandDebug'. Caused by: org.gradle.process.internal.ExecException: A problem occurred starting p

xiangzhihong8的专栏 4246

IsIconic、CenterWindow()的用法 、LockWindowUpdate、CredUIParseUserName

一、Isiconic 功能 函数功能:该函数确定给定窗口是否是最小化(图标化)的窗口。函数原型:BOOL IsIconic(HWND hWnd); hWnd:被测试窗口的句柄。 返回值:如果窗口未最小化,返回值为零;如果窗口已最小化,返回值为非零。 函数isiconic返回值取决于指定窗口是否已经最小化。 BOOL IsIconic(

chenyujing1234的专栏 3179

概率的接力:拆解大模型“预测下一个词“的底层逻辑

大模型的智能不在于它拥有了意识,而在于它用纯数学的架构,将人类语言的复杂结构压缩为可计算的向量轨迹与概率接力。当我们不再将其拟人化为"思考者",而是视作高维条件概率引擎时,才能真正驾驭它。预测下一个词,从来不是终点,而是起点。未来的核心竞争力,属于那些能洞察其统计本质、善用其模式生成能力,并以人类理性与事实为锚点的协作者。词元的轨迹终会止步于上下文窗口,但对技术底层的清醒认知,才是跨越幻觉、走向真实智能的基石。

AI浩 328

win32 api 窗口居中

在网上搜是窗口居中显示的方法搜到了浪浪仔的win32 C/C++程序窗口居中,用了之后发现虽然窗口居中了,但是比原来变大了许多,后来发现是SetWindowPos时窗口的长宽设置错了,在此记录,并给需要的人。 void CenterWindow(HWND hWnd) { int scrWidth, scrHeight; RECT rect; //获得屏幕尺寸 s...

菜鸟的博客 1859

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

一个窗口居中的例子(Win32)

要实现窗口居中显示并不难,只要在窗体创建的时候我们设置窗口的位置就可以了.在这里我们主要用到3个API函数,分别是:GetSysMetrics,GetWindowRect,SetWindowPos.我们用GetSysMetrics来获的屏幕的宽度和高度,然后用GetWindowRect来获取窗口的坐标.通过运算后计算出居中窗口的位置,最后用SetWindowPos来设置窗体的位置.整个过程就是如此

编程人生的专栏 5718

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

win32窗口按照屏幕居中

RECT rc, rc1, rctomove;   int width = GetSystemMetrics(SM_CXSCREEN);   int height = GetSystemMetrics(SM_CYSCREEN);   rc.left = 0;   rc.top = 0;   rc.right = width;   rc.bottom = height;   GetCl

zdongfuyu的专栏 2332

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

win32 api 子窗口在父窗口居中的方法

如果要让窗口内的一个控件在父窗口的客户区居中,或在某一位置,可以用SetWindowPos,注意里面的第三个和第四个参数是相对于父窗口的客户区的坐标的,父窗口的客户区的坐标的左上角left,top都是0 如果在父窗口里弹出一个DialogBox子窗口,这时你可能希望这个DialogBox在父窗口的客户区居中显示,你只需要在这个DialogBox的WM_INITDIALOG处理函数里加入以

wuqiyinglang的专栏 4302

win32 设置窗口居中 API函数

//获取屏幕尺寸 scrWidth  = GetSystemMetrics(SM_CXSCREEN); scrHeight = GetSystemMetrics(SM_CYSCREEN); //获取窗体尺寸 CRect rect; // ::GetWindowRect(m_hWnd, &rect); rect.right =  WindowWidth; // 设置窗口宽高 re

非常道的博客 3465

win32窗口的大小,居中,拖动

参考 https://www.cnblogs.com/findumars/p/3948315.html 不让调整大小 窗口风格设置,后面两个是最大最小化按钮 dwStyle^WS_THICKFRAME^WS_MAXIMIZEBOX^WS_MINIMIZEBOX 不让拖动 消息循环里添加 case WM_NCLBUTTONDOWN: { switch (...

u011393161的博客 4554

win32 C/C++程序窗口居中

1、要实现窗口居中显示并不难,只要在窗体创建的时候我们设置窗口的位置就可以了.在这里我们主要用到3个API函数,分别是:GetSysMetrics,GetWindowRect,SetWindowPos. 我们用GetSysMetrics来获的屏幕的宽度和高度,然后用GetWindowRect来获取窗口的坐标.通过运算后计算出居中窗口的位置,最后用 SetWindowPos来设置窗体...

weixin_30328063的博客 1353

【转】win32窗口的大小,居中,拖动

参考 https://www.cnblogs.com/findumars/p/3948315.html 不让调整大小 窗口风格设置,后面两个是最大最小化按钮 dwStyle^WS_THICKFRAME^WS_MAXIMIZEBOX^WS_MINIMIZEBOX 不让拖动 消息循环里添加 case WM_NCLBUTTONDOWN: { switch (wParam) { case HTCAPTION: return 0; ...

sinolover的专栏 1853

WIN32项目中MFC程序窗口居中

//classCMainWindow:publicCFrameWnd voidCMainWindow::OnSize(UINTnType,intcx,intcy){CFrameWnd::OnSize(nType,cx,cy);//TODO:在此处添加消息处理程序代码//SIZE_RESTOREDWindowhasbeen...

266

Win32创建居中窗口 C/C++

在此记录 #define CreateCentralWindowEx(dwExStyle, lpClassName, lpWindowName, dwStyle, nWidth, nHeight,\ hWndParent, hMenu, hInstance, lpParam)\ CreateWindowExW(dwExStyle, lpClassName, lpWindowName, dwStyle, \ (GetSystemMetrics(SM_CXFULLSCREEN) - nWidth) / 2

szx0427的博客 1690

Python实现鼠标选定窗口位置居中

本文为满足强迫症需求(不是),通过Python实现鼠标选定窗口抓取句柄并实现窗口位置居中,或可通过输入对应的标题序号以选取句柄。 import imp import sys from webbrowser import get import win32gui import win32con import win32api import time def get_all_windows(): hWnd_list = [] win32gui.EnumWindows(lambda hWn

m0_59426411的博客 1034
上一篇: HTK3.4.1在Win7 下HSLab **.sig使用无效的解决办法
下一篇: 将MFC的CString 类型转化为C++标准数据类型std::string
xiaoding133
博客等级 码龄19年 415粉丝 159原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值