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中有两种类型的对话框:模态对话框和非模态对话框. 模态对话框是指当其显示时,程序会暂停执行,直到关闭这个模态对话框后,才能继续执行程序中其他任务.非模态对话框是指当其显示时,允许转而执行程序中 ...
随机推荐
- java.io.IOException: ORA-22920: 未锁定含有 LOB 值的行
究其原因是因为没有锁定要更新的行记录.将 mysql="select filebody from filelist where filename=?"中的SQL语句加上 ...
- 【转】如何使用PhoneGap打包Web App
如何使用PhoneGap打包Web App 最近做了一款小游戏,定位是移动端访问,思来想去最后选择了jQuery mobile最为框架,制作差不多以后,是否可以打包成App,恰好以前对PhoneGap ...
- 同名域中计算机之间RDP问题
今天遇到一个奇葩问题 server1 在domain1中 server2 在domain2中 domain1 和domain2的名字一样,然后从server1去RDP到server2,你是无论如何都无 ...
- CSS实现背景透明,文字不透明(各浏览器兼容)
/*CSS*/.waps{ background:url(07158.bmp) no-repeat top center fixed; width:1004px; text-align:center; ...
- Bellman-Ford & SPFA 算法——求解单源点最短路径问题
Bellman-Ford算法与另一个非常著名的Dijkstra算法一样,用于求解单源点最短路径问题.Bellman-ford算法除了可求解边权均非负的问题外,还可以解决存在负权边的问题(意义是什么,好 ...
- 黄聪:MySql Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 解决方法(转)
转自:http://www.cnblogs.com/susuyu/archive/2013/05/28/3104249.html 环境:linux,mysql5.5.21 错误:Host is blo ...
- SpringJDBC
<!-- JdbcTemplate:最基础的springJDBC模板,这个模板支持最简单的jdbc数据库访问功能以及简单的索引参数查询 NamedParameterJdbcTemplate:使用 ...
- SmtpClient 类
1, SmtpClient 类 http://www.cnblogs.com/panlijiao/archive/2012/11/14/2773836.html
- Windows下编译使用Aliyun OSS PHP SDK
摘要: WIN环境下搭建Aliyun OSS PHP SDK编译运行环境.从PHP的安装逐步完成,SDK的编译运行.即使没有任何PHP基础,也能顺利完成. 安装环境:Win7 64 + PHP 5.6 ...
- Coding 初级教程(一)——用GitHub的GUI客户端对Coding的项目进行管理
一.概述 二.Git基本概念 1.有关存储的四个概念 2.分支(branch) 三.项目管理实战操作 1.安装 GHfW(GitHub for Windows) 2.在Coding上新建一个项目(新建 ...