MFC创建非模态对话框并修改CStatic文字
//由IDD_STATUS_DIALOG创建一个对话框
CDialog* pCheckNetStatusDlg = new CDialog();
pCheckNetStatusDlg->Create(IDD_STATUS_DIALOG, this);
RECT statusWndClientRect, mainWndClientRect, mainWndRect;
pCheckNetStatusDlg->GetClientRect(&statusWndClientRect);
this->GetClientRect(&mainWndClientRect);
this->GetWindowRect(&mainWndRect);
pCheckNetStatusDlg->ShowWindow(SW_SHOW);
pCheckNetStatusDlg->MoveWindow((mainWndClientRect.right - statusWndClientRect.right) / 2 + mainWndRect.left,
(mainWndClientRect.bottom - statusWndClientRect.bottom) / 2 + mainWndRect.top,
statusWndClientRect.right, statusWndClientRect.bottom);
CString strStatus = "当前状态";
//修改IDC_STATIC_STATUS的文字
CWnd* pWndStatus = pCheckNetStatusDlg->GetDlgItem(IDC_STATIC_STATUS);
//设置新的文字
pWndStatus->SetWindowText(strStatus);
CDC* pDC = GetDC();
//计算文字长度
CSize sizeStatus = pDC->GetTextExtent(strStatus);
RECT rectStatus;
//得到文字在屏幕上的位置
pWndStatus->GetWindowRect(&rectStatus);
//设置文字位置
rectStatus.left = (rectStatus.left + rectStatus.right) / 2 - sizeStatus.cx / 2;
rectStatus.right = rectStatus.left + sizeStatus.cx;
pCheckNetStatusDlg->ScreenToClient(&rectStatus);
//调整大小
pWndStatus->MoveWindow(&rectStatus);
//刷新窗口 Invalidate()是发送一个命令WM_PAINT来重画窗口, WM_PAINT是优先级比较低的, UpdateWindow是立即重画, 优先级高
pCheckNetStatusDlg->UpdateWindow();
MFC创建非模态对话框并修改CStatic文字的更多相关文章
- MFC编程 | 非模态对话框的定义
因为课程需要,会用到MFC编程,所以讲一些经验总结下,以便日后使用查询. // 非模态对话框的定义 // 通过单文档菜单调用一个非模态窗口 1.首先在工程里插入一个对话框(如:IDD_DLG_TEST ...
- VS2010/MFC对话框:非模态对话框的创建及显示
非模态对话框的创建及显示 上一节讲了模态对话框及其弹出过程,本节接着讲另一种对话框--非模态对话框的创建及显示. 已经说过,非模态对话框显示后,程序其他窗口仍能正常运行,可以响应用户输入,还可以相互切 ...
- VS2010/MFC编程入门之十二(对话框:非模态对话框的创建及显示)
上一节鸡啄米讲了模态对话框及其弹出过程,本节接着讲另一种对话框--非模态对话框的创建及显示. 鸡啄米已经说过,非模态对话框显示后,程序其他窗口仍能正常运行,可以响应用户输入,还可以相互切换.鸡啄米会将 ...
- VS2010-MFC(对话框:非模态对话框的创建及显示)
转自:http://www.jizhuomi.com/software/162.html 前面已经说过,非模态对话框显示后,程序其他窗口仍能正常运行,可以响应用户输入,还可以相互切换.本节会将上一讲中 ...
- MFC模态和非模态对话框编程
MFC中对话框有两种形式,一个是模态对话框(model dialog box),一个是非模态对话框(modeless dialog box). 一.模态对话框(model dialog box) 在程 ...
- vc创建模态和非模态对话框
模态对话框的创建 创建模态对话框需要调用CDialog类的成员函数:DoModal,该函数的功能就是创建并显示一个模 态对话框,关闭模态对话框的函数是EndDialog,该函数需要一个参数,这个参数就 ...
- MFC 点击按钮,弹出另一个对话框(模态及非模态对话框)
1. 模态对话框 资源视图->Dialog->右键->添加资源->新建->对话框->右键->添加类. 例如:在A_dialog中点击按钮弹出B_dialog ...
- MFC 模态对话框、非模态对话框
modal dialogs与modeless dialogs,modal dialogs会让原窗体不被选中,modeless dialogs原窗体依然可以选中. 1.模态对话框的显示 DlgModal ...
- VC++模态对话框和非模态对话框
MFC中有两种类型的对话框:模态对话框和非模态对话框. 模态对话框是指当其显示时,程序会暂停执行,直到关闭这个模态对话框后,才能继续执行程序中其他任务.非模态对话框是指当其显示时,允许转而执行程序中 ...
随机推荐
- 工作中简单又实用的vim配置
set number syntax enable set tabstop=4 set shiftwidth=4 set noexpandtab set cindent set autoindent s ...
- AngularJs初步学习笔记(part1)
一.摘要: angular是采用JavaScript编写的前端mvc框架,帮助开发者编写现代化的单页面应用.它尤其适用编写有大量CRUD操作的,具有Ajax风格的客户端应用. 二.总结: Angula ...
- android学习笔记十——TabHost
TabHost——标签页 ==> TabHost,可以在窗口放置多个标签页,每个标签页相当于获得了一个与外部容器相同大小的组件摆放区域. 通过此种方式可以实现在一个容器放置更多组件(EG:通话记 ...
- 如何重装air
参考这里 很多年没有装过系统了,手贱用xxcleaner清理了下,好吧,我觉得只能重装了,直接贴过程吧 ,开机同时command+R,进入菜单 ,抹掉磁盘 ,重启,等在线更新(看各位运气了,网速好的话 ...
- 黄聪:360浏览器、Chrome调试(debugger)JS总是进入paused in debugger状态
在通过Chrome浏览器进行web前端开发时,我们会经常用到Chrome自带的debugger工具,但是经常按完快捷键(F12)后,页面会进入paused in debugger状态,需要点击右上角的 ...
- 黄聪:手机移动端建站Jquery+CSS3+HTML5触屏滑动特效插件、实现触屏焦点图、图片轮展图
前言 TouchSlide 可以说是 SuperSlide 手机简化版,不同的地方在于:1.TouchSlide是纯javascript开发的,不依赖任何js库,鉴于此,TouchSlide调用方法和 ...
- Spark参数配置说明
1 修改$SPARK_HOME/conf目录下的spark-defaults.conf文件 添加以下配置项 spark.sql.hive.convertMetastoreParquet ...
- RN项目搭建
一.安装JDK 由安装包引起,你可以尝试一下新包 注意安装路径要不同 或者重新安装Windows Installer 运行CMD 1.输入 sfc /SCANNOW 回车 2.完成后输入 msiexe ...
- android的照片浏览器(一)至返回所有图片文件
今天开始写android的照片浏览器 首先要解决的问题是要得到sdcard下面所有是图片的文件的目录 于是我先写了一个普通的java类 来得到后缀是.jpg,.bmp.png.jpeg的文件 pack ...
- uboot 的内存命令使用 mw (修改) md (显示)
修改:mw [内存地址] [值] [长度] 例如:mw 0x02000000 0 128 表示修改地址为0x02000000~0x02000000+128的内存值为0. 显示:md [内存地址] [长 ...