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基于对话框的应用程序,如何设置初始对话框大小,移动控件位置的更多相关文章

  1. Android为TV端助力 外挂字幕(设置颜色,大小,位置,微调字幕)

    前提摘要:  可以给电影加字幕,目前支持srt和ass格式, 功能摘要:  支持微调字幕,设置大小,颜色,位置 1 .字幕解析类 package com.hhzt.iptv.lvb_x.utils; ...

  2. mfc基于对话框的简单四则运算计算器

    1.①创建mfc对话框窗口,对话框中所有控件都delete. ②绘制界面,按键都button,显示区域edit control,计算器名字用static text. ③所有控件ID改成语义化ID(可不 ...

  3. mfc设置半透明对话框

    BOOL CDialog7::OnInitDialog() { CDialog::OnInitDialog(); // TODO: 在此添加额外的初始化 ::SetWindowLong(GetSafe ...

  4. Java开发桌面程序学习(三)——基于Jfoenix库的JFXDialog封装仿Android对话框的工具DialogBuilder

    对话框的封装使用 最近写了个JFXUtils,DialogBuilder也是包含在里面了 JFXUtils的Github 前言 登录需要弹出登录对话框,但是,Jfoenix库使用对话框比较难受,还得动 ...

  5. 基于对话框的应用程序,点击button打开一个网页

    核心:使用Webbrowser控件 加入一个新的对话框,右键 Insert ActiveX control,选中 双击对话框生成响应的类(Web).并为webbrowser绑定成员变量(m_Web) ...

  6. 基于4.5Framework web程序、SQLSERVER数据库打包

    原文:基于4.5Framework web程序.SQLSERVER数据库打包 估计很多朋友和我一样,对于C/S程序打包很熟悉,但对于B/S程序打包一头雾水... 最近公司要求我们把项目和数据库(SQL ...

  7. SQL Sever无法打开链接对话框,未将对象引用设置到对象的实例。(AppIDPackage)

    前几天刚做完系统,先装的是SQL Sever2008,装完后还试了一下,OK~没问题,然后就继续装VS2012等一些软件.搞到很晚没有继续试试就睡了,第二天运行SSMS出问题了..(如图 1.0 所示 ...

  8. 【翻译】首个基于NHibernate的应用程序

    首个基于NHibernate的应用程序  Your first NHibernate based application 英文原文地址:http://www.nhforge.org/wikis/how ...

  9. 基于DevExpress的Winform程序安装包的制作

    在我们做系统开发的时候,都会面临一个安装包制作的问题,如何把我们做好的系统,通过安装包工具整合成一个安装包给客户进行安装.安装包的优势就是一步步安装就可以了,不用复制一大堆文件给客户,还怕缺少那个文件 ...

随机推荐

  1. PHP中extract()函数的妙用

    看cakephp 2.3.8的源代码,很多地方都用 到 compact('name', 'response'); extract($status, EXTR_OVERWRITE); 这样的代码.com ...

  2. [Testing] Config jest to test Javascript Application -- Part 3

    Run Jest Watch Mode by default locally with is-ci-cli In CI, we don’t want to start the tests in wat ...

  3. Seven times have I despised my soul 《我曾七次鄙视自己的灵魂》

    <我曾七次鄙视自己的灵魂>,纪伯以“自己的灵魂”为名,看穿人性所共有弱点的一首诗.诗句简单有力发人深省,督促人们拥有更高的精神境界,呼吁人们涤荡自己的灵魂,唾弃丑恶,追求高尚. Seven ...

  4. OCP47:155

  5. sendmessage传递数组

    1.在初始化数组尤其是需要每次都初始化的时候,很多同学使用循环来进行,这样不但速度慢,而且写起来也很长.所以现在提供一个函数来实现这个功能... 原型:extern void *memset(void ...

  6. 设计模式学习笔记——Template Method模板方法模式

    可能是最简单的设计模式. 而且你我都用过而不自知. 因为,模板方法模式也者,就是面向对象中的继承.公用部分放在父类,子类继承父类,然后扩展.呵呵.

  7. junit使用小结

    1.spring中使用 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes=CDPlayerConfig.cla ...

  8. DeepLearningFlappyBird-深度学习玩游戏-1-环境搭建

    -------------------------------------------------------------------------------------- https://githu ...

  9. 新建web项目时css注意事项

    初始化css ,如设置body的margin,padding值,button:hover的pointer手型,li dd的list-style,a的下划线等. 最好将常用的初始化css文件整合在一起, ...

  10. HDU3085 Nightmare Ⅱ —— 双向BFS + 曼哈顿距离

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3085 Nightmare Ⅱ Time Limit: 2000/1000 MS (Java/Other ...