WIN32项目中MFC程序窗口居中
//class CMainWindow : public CFrameWnd
void CMainWindow::OnSize(UINT nType, int cx, int cy)
{
CFrameWnd::OnSize(nType, cx, cy);
// TODO: 在此处添加消息处理程序代码
// SIZE_RESTORED Window has been resized, but neither SIZE_MINIMIZED nor SIZE_MAXIMIZED applies.
if( nType == SIZE_RESTORED )
{
/* 获取屏幕大小 */
int iScreenW = GetSystemMetrics( SM_CXSCREEN );
int iScreenH = GetSystemMetrics( SM_CYSCREEN );
/* 获取窗口大小 */
RECT rcWindowRect;
GetWindowRect( &rcWindowRect );
int iWindowW = rcWindowRect.right - rcWindowRect.left;
int iWindowH = rcWindowRect.bottom - rcWindowRect.top;
/* 获取任务栏高度 */
RECT rect;
HWND hwndTaskbar;
int iTaskbarH;
hwndTaskbar = ::FindWindow(L"Shell_TrayWnd", 0);
::GetWindowRect(hwndTaskbar, &rect);
iTaskbarH = rect.bottom - rect.top;
int iLeft = (iScreenW - iWindowW ) / 2;
int iTop = (iScreenH - iWindowH - iTaskbarH ) / 2;
MoveWindow( iLeft, iTop, iWindowW, iWindowH, FALSE );
}
}
WIN32项目中MFC程序窗口居中的更多相关文章
- API、Win32 SDK、Win32项目、MFC、Windows窗体应用程序的区别
[原]API.Win32 SDK.Win32项目.MFC.Windows窗体应用程序的区别 首先来看一下每一个术语的定义: API:Application Programming Interface. ...
- Visual Studio C++ Win32控制台应用程序,Win32项目,MFC的区别
背景 Visual Studio C++ 创建新项目蹦出来如下选项: Win32控制台应用程序,Win32项目,MFC有什么区别? 正文: Win32控制台,没有界面,命令行执行生成的文件则直接在后台 ...
- VS中空项目、win32项目、控制台程序的区别(转)
空项目,大多数想单纯创建c++工程的新同学,打开vs后很可能不知道选择创建什么工程,这时候请相信我,空项目是你最好的选择.因为空工程不包含任何的源代码文件,接下来你只需要在相应的源代码文件夹和头文件文 ...
- Win32控制台、Win32项目、MFC项目、CLR控制台、CLR空项目、空项目区别
转载:https://blog.csdn.net/zfmss/article/details/79244696 1.Win32控制台 初始代码模版以main为程序入口,默认情况下,只链接C++运行时库 ...
- VS2010 win32项目windows窗体程序 向导生成代码解析
目录: 1.Win32项目的windows窗体程序的向导生成了如下代码 2.手工生成代码如下 3.当消息队列中没有消息需要处理,我们可以利用这段时间处理我们自己的任务 1.Win32项目的window ...
- CentOS7.6打开的程序窗口居中
每次在CentOS7中打开新的窗口都会靠左上角显示,所以每次打开一个窗口都要多做一步操作,将窗口移到屏幕中间来,强迫症的我觉得太麻烦了,所以… 安装ccsm yum -y install compi ...
- Win32项目生成的程序exe图标显示异常的问题
问题 如图: 用VS2013生成exe执行文件时发现的问题,起初以为是没添加ico图像的最小尺寸,后来查看ico并不是这个问题. Baidu.Google了半天找到原因:文件资源管理器的图标缓存bug ...
- Delphi中使一个窗口居中
把窗口的position属性设置为poScreenCenter,就可以使窗口居于屏幕的中央.
- OpenGL编程-OpenGL框架-win32项目
在win32项目中开发的程序 小知识: 控制台应用程序运行就是dos的界面 项目一般采用了可视化开发 开发出来的东西就像QQ之类的 是有窗口界面的 程序运行结果是这样的 源代码:对第45行进行覆盖 # ...
随机推荐
- 最短路——Dijkstra和Floyd
Problem Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要 ...
- JAVA THINGKING (一)
保存数据位置: (1) 寄存器.这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部. (2) 堆栈.驻留于常规RAM(随机访问存储器)区域,这是一种特别快.特别有效的数据保存方式, ...
- log4j的学习和log4j在程序中使用的加载作用过程
昨天进行代码评审的时候,大家都纠结在了日志信息应该如何输出上,其实我想大家应该一直都在使用log4j来对日志信息进行输出,但是未想应该有很大一部分人对log4j是不了解的,我遇到这个问题的时候也到网上 ...
- CodeForces 1091G. New Year and the Factorisation Collaboration
题目简述:若你获得“超能力”:固定$n$,对任意$a$,可以快速求出$x \in [0, n)$(若存在),使得$x^2 \equiv a \pmod n$,若存在多个$x$满足条件,则返回其中一个( ...
- LeetCode: 485 Max Consecutive Ones(easy)
题目: Given a binary array, find the maximum number of consecutive 1s in this array. Example 1: Input: ...
- 算法学习--Day8
今天重拾算法复习. 今天学习了两个类型的算法——并查集与最小生成树(MST) 简单记录一下并查集的大致内容. 一.并查集的内容大致作用为查找当前图中的点有几个集合. 该算法起到查询分组的情况.通过给定 ...
- HDU4973 【几何。】
题意: 给你一个以原点为圆心的两个圆,一个大圆,一个小圆,然后给你一个硬币和他的速度,问你经过大圆的时间: 思路: 直接杠.. 然后wa的怀疑人生,后面wa在了速度的方向,如果我说一个点在两个圆的左上 ...
- 51nod1270(dp)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1270 题意:中文题诶- 思路:dp s=abs(a1-a0)+ ...
- IT兄弟连 JavaWeb教程 EL表达式获取对象的属性以及数组的元素
使用${对象名.属性名} EL表达式语言可以使用点号运算符"."来访问对象的属性,例如表达式${customer.name}表示customer对象的name属性. 使用${对象名 ...
- 反射记录点滴——Field
反射记录点滴 1. 反射获取类的属性 Class.getDeclareFileld(String name) 返回一个Filed对象,该对象反映此Class对象所表示的类或接口的指定已声明字段. Cl ...