关于mfc对话框问题,我创建了一个对话框,想在对话框创建之后获取他的大小然后再缩小他的尺寸,改变对

关于mfc对话框问题,我创建了一个对话框,想在对话框创建之后获取他的大小然后再缩小他的尺寸,改变对,第1张

如果是非模态对话框,在dlg->ShowWindow之后,调用dlg->MoveWindow就可以了。

如果是模态对话框,在对话框的OnInitDialog中,Get再MoveWindow。

CRect rect;

CWnd pWnd = GetDlgItem(IDC_picture);//IDC_picture为picture控件ID

pWnd->GetClientRect(&rc);//rc为控件的大小

int x=rectHeight();

int y=rectWidth()。

1、在对话框类中加入成员变量CRect

m_rect;用于保存对话框大小变化前的大小;

2、在对话框的OnInitDialog()函数中获取对话框创建时的大小:

GetClientRect(&m_rect);

3、在WM_SIZE的响应函数OnSize()中加入以下代码:

CWnd

pWnd;

pWnd

=

GetDlgItem(IDC_LIST);

//获取控件句柄

if(pWnd)//判断是否为空,因为对话框创建时会调用此函数,而当时控件还未创建

{

CRect

rect;

//获取控件变化前大小

pWnd->GetWindowRect(&rect);

ScreenToClient(&rect);//将控件大小转换为在对话框中的区域坐标

//

cx/m_rectWidth()为对话框在横向的变化比例

rectleft=rectleftcx/m_rectWidth();/////调整控件大小

rectright=rectrightcx/m_rectWidth();

recttop=recttopcy/m_rectHeight();

rectbottom=rectbottomcy/m_rectHeight();

pWnd->MoveWindow(rect);//设置控件大小

}

GetClientRect(&m_rect);//将变化后的对话框大小设为旧大小

以上就是关于关于mfc对话框问题,我创建了一个对话框,想在对话框创建之后获取他的大小然后再缩小他的尺寸,改变对全部的内容,包括:关于mfc对话框问题,我创建了一个对话框,想在对话框创建之后获取他的大小然后再缩小他的尺寸,改变对、如何得到mfc中picture控件的长和宽、MFC的控件大小如何随对话框改变等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9657607.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存