mfc基于对话框的应用程序,如何设置初始对话框大小,移动控件位置
void MmPLEntPropertyDlg::SetInitDialogSize()
{
CRect rectDlg;
GetWindowRect(rectDlg);//x,y为对话框左上角的坐标 w,h为对话框的宽高
::SetWindowPos(this->m_hWnd, HWND_BOTTOM, , , rectDlg.Width(), rectDlg.Height() + , SWP_NOZORDER);
CenterWindow();//居中显示
} void MmPLEntPropertyDlg::MoveCtrlPosition(bool bModifySize /* = false */)
{
if(bModifySize)
{//改变控件大小
for(int i = ; i < ; i++)
{
CWnd *pWndCtrl = NULL;
if( == i) pWndCtrl = GetDlgItem(IDOK);
if( == i) pWndCtrl = GetDlgItem(IDCANCEL);
if( == i) pWndCtrl = GetDlgItem(IDC_LIST_PLENTPROPERTY); if ((NULL != pWndCtrl) && IsWindow(pWndCtrl->GetSafeHwnd()))
{
CRect rectCtrl;
pWndCtrl->GetWindowRect(rectCtrl);
ScreenToClient(rectCtrl);
int iLeft = rectCtrl.left;
int iTop = rectCtrl.top;
int iWidth = rectCtrl.Width();
int iHeight = rectCtrl.Height(); if( == i || == i)
{
//把button控件移动到新位置
pWndCtrl->MoveWindow(iLeft, iTop, iWidth, iHeight);
}
if( == i)
{//listCtrl高度
pWndCtrl->MoveWindow(iLeft, iTop + MoveSize, iWidth, iHeight - ListCtrl_ModifyHeight);
}
}
}
}
else//不改变控件大小,只改变位置
{
for(int i = ; i < ; i++)
{
CWnd *pWndCtrl = NULL;
if( == i) pWndCtrl = GetDlgItem(IDOK);
if( == i) pWndCtrl = GetDlgItem(IDCANCEL);
if( == i) pWndCtrl = GetDlgItem(IDC_LIST_PLENTPROPERTY); if ((NULL != pWndCtrl) && IsWindow(pWndCtrl->GetSafeHwnd()))
{
CRect rectCtrl;
pWndCtrl->GetWindowRect(rectCtrl);
ScreenToClient(rectCtrl);
int iLeft = rectCtrl.left;
int iTop = rectCtrl.top;
int iWidth = rectCtrl.Width();
int iHeight = rectCtrl.Height();
iTop += MoveSize;
// 把控件移动到新位置
pWndCtrl->MoveWindow(iLeft, iTop, iWidth, iHeight);
}
}
}
}
参考:http://zhidao.baidu.com/link?url=PdhhOAWqm93bvjSQexwf8WlT5By1RWQBISO5hmMqZ_VbyVhY6NivX5mh3twkFxD9JODhWgA0XPVrlPl_USTzOa
http://blog.csdn.net/lyshiba/article/details/7489510
mfc基于对话框的应用程序,如何设置初始对话框大小,移动控件位置的更多相关文章
- Android为TV端助力 外挂字幕(设置颜色,大小,位置,微调字幕)
前提摘要: 可以给电影加字幕,目前支持srt和ass格式, 功能摘要: 支持微调字幕,设置大小,颜色,位置 1 .字幕解析类 package com.hhzt.iptv.lvb_x.utils; ...
- mfc基于对话框的简单四则运算计算器
1.①创建mfc对话框窗口,对话框中所有控件都delete. ②绘制界面,按键都button,显示区域edit control,计算器名字用static text. ③所有控件ID改成语义化ID(可不 ...
- mfc设置半透明对话框
BOOL CDialog7::OnInitDialog() { CDialog::OnInitDialog(); // TODO: 在此添加额外的初始化 ::SetWindowLong(GetSafe ...
- Java开发桌面程序学习(三)——基于Jfoenix库的JFXDialog封装仿Android对话框的工具DialogBuilder
对话框的封装使用 最近写了个JFXUtils,DialogBuilder也是包含在里面了 JFXUtils的Github 前言 登录需要弹出登录对话框,但是,Jfoenix库使用对话框比较难受,还得动 ...
- 基于对话框的应用程序,点击button打开一个网页
核心:使用Webbrowser控件 加入一个新的对话框,右键 Insert ActiveX control,选中 双击对话框生成响应的类(Web).并为webbrowser绑定成员变量(m_Web) ...
- 基于4.5Framework web程序、SQLSERVER数据库打包
原文:基于4.5Framework web程序.SQLSERVER数据库打包 估计很多朋友和我一样,对于C/S程序打包很熟悉,但对于B/S程序打包一头雾水... 最近公司要求我们把项目和数据库(SQL ...
- SQL Sever无法打开链接对话框,未将对象引用设置到对象的实例。(AppIDPackage)
前几天刚做完系统,先装的是SQL Sever2008,装完后还试了一下,OK~没问题,然后就继续装VS2012等一些软件.搞到很晚没有继续试试就睡了,第二天运行SSMS出问题了..(如图 1.0 所示 ...
- 【翻译】首个基于NHibernate的应用程序
首个基于NHibernate的应用程序 Your first NHibernate based application 英文原文地址:http://www.nhforge.org/wikis/how ...
- 基于DevExpress的Winform程序安装包的制作
在我们做系统开发的时候,都会面临一个安装包制作的问题,如何把我们做好的系统,通过安装包工具整合成一个安装包给客户进行安装.安装包的优势就是一步步安装就可以了,不用复制一大堆文件给客户,还怕缺少那个文件 ...
随机推荐
- [WASM] Set up wasm-bindgen for easy Rust/JavaScript Interoperability
Interoperability between JavaScript and Rust is limited to numerics and accessing memory directly. S ...
- Solidworks做镜像 导致厚度为零的几何体怎么办
如下图所示,我想把1,2,3,4架子做一个镜像,但是提示错误 貌似只能用镜像实体,并且取消勾选"合并实体"
- 线段树区间更新,区间统计+离散化 POJ 2528 Mayor's posters
题意:有一个非常长的板子(10000000长),在上面贴n(n<=10000)张海报.问最后从外面能看到几张不同的海报. 由于板子有10000000长,直接建树肯定会爆,所以须要离散化处理,对于 ...
- Raw-OS源代码分析之消息系统-Queue_Buffer
分析的内核版本号截止到2014-04-15,基于1.05正式版.blogs会及时跟进最新版本号的内核开发进度,若源代码凝视出现"???"字样,则是未深究理解部分. Raw-OS官方 ...
- [LeetCode][Java] Longest Common Prefix
题目: Write a function to find the longest common prefix string amongst an array of strings. 题意: 写出一个函 ...
- c程序设计语言第一章3
字符数组是C语言中最常用的数组类型.下面我们通过编写一个程序,来说明字符数组以反操作字符数组的函数的用法.该程序读入一组文本行,并把最长的文水行打印出来.该算法的基本框架非常简单: while (还有 ...
- 父节点parentNode
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- HDU 5366:The mook jong 递推
The mook jong Accepts: 506 Submissions: 1281 Time Limit: 2000/1000 MS (Java/Others) Memory Limit ...
- PHP琐碎学习
在子类中如果定义了__construct则不会调用父类的__construct,如果需要同时调用父类的构造函数,需要使用parent::__construct()显式的调用. class Car { ...
- 闭包传参 余额计算 钩子hook 闭包中的this JavaScript 钩子
闭包传参 余额计算 钩子hook 小程序 a=function(e){console.log(this)}() a=function(e){console.log(this)}() VM289 ...