MFC 对话框的尺寸大小如何确定的

设计一个状态栏不知道对话框的大小和长度。例如范例如何确定的对话对话框的大小m_statusBar.Create(WS_CHILD|WS_VISIBLE,CRect(0,0... 设计一个状态栏 不知道 对话框的大小和长度 。
例如范例 如何确定的对话对话框的大小
m_statusBar.Create(WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),this,1100);
int width[]={80,220,300,380,460,32765}; //状态栏的大小
m_statusBar.SetParts(6,width);
请问范例中 是怎么知道对话框的长宽的呢?
展开
 我来答
杰青的日子
推荐于2016-07-18 · 知道合伙人数码行家
杰青的日子
知道合伙人数码行家
采纳数:10012 获赞数:29194
毕业河南理工大学计算机应用技术。通过视频、书籍学习网站开发软件及相关电脑技术。现任新乡立夫软件组长。

向TA提问 私信TA
展开全部
  1. MFC 对话框的尺寸大小使用MoveWindow,意思是改变指定窗口的位置和大小。

  2. 函数功能:改变指定窗口的位置和大小.对顶窗口来说,位置和大小取决于屏幕的左上角;对子窗口来说,位置和大小取决于父窗口客户区的左上角.对于Owned窗口,位置和大小取决于屏幕左上角.

    函数原型:BOOL MoveWindow( HWND hWnd, int X, int Y, int nWidth, int nHeight, BOOL bRepaint );

    参数

    hWnd指定了窗口的句柄

    x指定了CWnd的左边的新位置。

    y指定了CWnd的顶部的新位置。

    nWidth指定了CWnd的新宽度。

    nHeight指定了CWnd的新高度。

    bRepaint指定了是否要重画CWnd。如果为TRUE,则CWnd象通常那样在OnPaint消息处理函数中接收到一条WM_PAINT消息。如果这个参数为FALSE,则不会发生任何类型的重画操作。这应用于客户区、非客户区(包括标题条和滚动条)和由于CWnd移动而露出的父窗口的任何部分。当这个参数为FALSE的时候,应用程序必须明确地使CWnd和父窗口中必须重画的部分无效或重画。

    MoveWindow给窗口发送WM_WINDOWPOSCHANGING,WM_WINDOWPOSCHANGED,WM_MOVE,WM_SIZE和WM_NCCALCSIZE消息。

C嘎嘎牌香烟
推荐于2016-07-19 · TA获得超过132个赞
知道答主
回答量:77
采纳率:0%
帮助的人:44.6万
展开全部
CRect rc;
m_statusBar.GetClientRect( &rc );

//宽
rc.Width(),或者rc.right-rc.left
//高
rc.Heigth() 或者rc.bottom - rc.top
更多追问追答
追问
请问 设计一个对话框 对话框的大小的 宽度 可以用自带工具测量吗
追答
你可以在VC6或VS的资源编辑器里调整对话框的大小。资源编辑器的右下角会告诉你当前的对话框是多大。如果要在运行中动态调整对话框大小可以用MoveWinidow函数。
关于此函数自行百度或MSDN
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
归悦欣cf
2012-08-29 · TA获得超过1442个赞
知道大有可为答主
回答量:4250
采纳率:60%
帮助的人:1248万
展开全部
有相关函数可以获取
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
XYCDebug
2012-08-27 · 超过87用户采纳过TA的回答
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:234万
展开全部
状态栏会自适应!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式