VC++对话框(CDialog)的全屏显示及控件居中显示

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

在编写一些软件时,我们会比较偏向于比较简洁、清新的用户界面,同时为了避免其它程序或者桌面等影响使用者的注意力等,我们通常习惯将软件界面全屏,布满整个显示屏幕,与此同时,我们也将对界面中的控件位置进行相应的调整,让它们按屏幕的大小和其在对话框中的相对位置,居中显示。

下面结合实例说明(完整实例可在我的CSDN资源中下载:http://download.csdn.net/detail/margin1988/8337049):

在对话框的初始化函数OnInitDialog()中分三步作如下的操作:

(1)获取屏幕的分辨率

int nFullWidth=GetSystemMetrics(SM_CXSCREEN);
int nFullHeight=GetSystemMetrics(SM_CYSCREEN);

(2)控件居中显示

CRect c1,c2; 
GetClientRect(c1); //获取窗口客户区的坐标
for (int i=IDC_BUTTON1;i<=IDC_BUTTON5;i++)
{
    GetDlgItem(i)->GetWindowRe
MFC 设置CListCtrl控件滚动条位置 设置CListCtrl控件滚动条位置 阅读详情

相关推荐

mfc实现播放器功能,双击全屏,再双击还原

视频播放器的制作,视频流在静态控件显示,类似迅雷看看双击全屏操作的实现 方法一 在debug和 release下都行 先在工程中先创建一个新类MyStatic 其基类是CDialog 在主窗口的类向导中给静态控件关联一个变量   CMyStatic m_videoWnd 然后在主窗口的.h中定义一个变量用来判断是否全屏 BOOL m_isFullScreen 在主窗口的.h中定义

记得评论哦 7256

VC里,将打开的文件对话框居中

VC中无论调用MFC 中的CFileDialog 还是 WTL 的 CFileDialog 还是 API GetOpenFileName 中都会保留前一次打开对话框。因为每次显示对话框都在不同的位置给人的印象是 很混乱,那么如何才能让对话框居中显示呢。 我从WTL 的 CFileDialog 派生了一个类,然后在OnInitDialog 中SetWindowPos ,在设置之后没有效果。在其

justin_bkdrong的专栏 2615

对话框(CDialog)里面显示图片(VC++)

对话框(CDialog)里面显示图片(VC++)

MFC中窗口居中显示

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

YoseZang的博客 1892

VC++ 更改标题字体以及居中显示标题

在百度知道上看到有人问了这个问题(http://zhidao.baidu.com/question/109083585.html?fr=id_push&fs=up),于是乎小试牛刀:)  在头文件中放下面的函数:   afx_msg void OnNcPaint(); afx_msg BOOL OnNcActivate(BOOL bActive);

『小猪呼噜噜』的专栏 -- I Write,therefore I am. 3376

VC++经典技巧总结【2/2】

31. 如何在编辑控件中以追加的方式添入字符?  [问题提出]   SetDlgItemText可以向Edit控件中输入字符,发送更新的消息也可是Edit控件显示与其关联的变量的值,但若是向已有的Edit字符后追加字符,该如何做?  [程序实现]   建立名为My的对话框工程,添加一个Edit和一个Button控件.Edit的ID=IDC_EDIT1,Button的ID=IDC_BUT

zhjr1220的专栏 1958

VC++6实现银行排队叫号系统:多线程同步与C/S架构实战

客户端-服务器(C/S)架构是分布式系统的基础模型,其核心在于通过网络协议实现不同进程间的通信与协作。在并发编程中,多线程同步机制确保共享数据的一致性,避免竞态条件。这些技术为构建高响应、高可用的业务系统提供了基础支撑,广泛应用于金融、电信等实时性要求高的领域。本文以银行排队叫号系统为例,通过VC++6和MFC框架,深入探讨了如何运用临界区(CCriticalSection)实现线程安全队列管理,并结合消息队列机制优化界面与后台交互。项目不仅演示了C/S架构在模拟业务调度中的落地,还通过数据持久化与调试技巧

weixin_34095889的博客 539

全屏Dialog的几种实现

在平时的开发中,经常遇到一些使用全屏弹窗的场景。今天,总结一下全屏弹窗的几种实现方法,大家可以结合自己的使用场景和习惯选择合适的方法。 实现全屏弹窗,我总结了三种方法: (1)全屏Dialog (2)全屏DialogFragment (3)全屏Activity 在一般的情况下,使用Dialog即可,相信大家实现弹窗的第一选择都是Dialog...

zhaojun的博客 2万+

实现窗口屏幕居中的C++代码源码(考虑任务栏)

实现窗口屏幕居中的C++代码源码(考虑任务栏)

WSG121212的专栏 667

VC对话框全屏显示及相应控件位置改变()

一、简单对话框全屏显示方法 在OnInitDialog()中任意加入: 1、ModifyStyle(WS_CAPTION,0,0); //如果不想去掉标题栏,去掉该句。 SendMessage(WM_SYSCOMMAND,SC_MAXIMIZE,0); 2、ShowWindow(SW_SHOWMAXIMIZED); 二、复杂一点的对话框全屏显示方法,随屏幕的分辩率而调节 ...

weixin_30794491的博客 178

VC++实现程序全屏显示

全屏显示在许多应用程序中都得到了应用。实现此功能的原理很简单:CWnd类中MoveWindow()函数可以按照指定参数来显示窗口。在执行窗口最大化以前利用GetWindowPlacement()函数先把窗口的当前位置保存在一个变量中,执行窗口最大化后可以通过SetWindowPlacement()函数调用此变量来恢复窗口。利用RepositionBars()函数取得应用程序客户区不被工具条掩盖的大

施昌权专栏 2267

VC 隐藏任务栏,实现对话框全屏显示

简单实现全屏

garybook的专栏 9534

VC中使对话框全屏的方法

去掉caption ModifyStyle(WS_CAPTION,0,0); 发送全屏消息 SendMessage(WM_SYSCOMMAND,SC_MAXIMIZE,0); 或者用 ShowWindow(SW_MAXIMIZE); 也可以实现全屏幕。 简单吧。 转载于:https://www.cnblogs.com/dqshll/archive/2008/03...

weixin_30568715的博客 198

C++中,MFC窗体最大化全屏界面的设计

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z 重做:Ctrl/Command + Y 加粗:Ctrl/Command + B 斜体:Ctrl/Command + I 标题:Ctrl/Command + S

qq_44830863的博客 1917

MFC窗口客户区全屏显示以及PICTURE控件全屏显示

相信用电脑看过电影的人都会下意识的默认双击一个播放器就会得到全屏播放影片的效果,那这个是怎么做到的呢?其实本人也是不知道的。。当然这篇文章不是到这就完了,而是介绍一种在MFC上全屏显示窗口或者PICTURE控件的方法,用此方法能做到全屏显示图像的效果,当然好坏还是有待考证的。 首先从简单的着手,来看如何实现MFC窗口的全屏显示,废话不说上代码: 在对话框头文件中添加变量: //对话框功能 p

weixinhum 5972

VC中如何使窗口居中

在OnShowWindow函数中完成窗口居中。 共三种方法: (1) CenterWindow( ); //Relative to it's parent (2) CenterWindow(CWnd:: GetDesktopWindow( )); // Relative to Screen (3) AfxGetMainWnd( ) -> Center Window( ); //Re

TXH0001的专栏 5020
上一篇: VC++编写DLL导出函数及其调用方法
下一篇: VC++对话框(CDialog)添加背景图片
小木头工作室
博客等级 码龄15年 47粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值