MFC中资源视图中对话框大小和实际像素尺寸显示问题

MFC ,CFormView 类派生自 CScrollView 类,因此它可以支持滚动视图的功能。默认情况下,CFormView 对话框是根据对话框模板的大小来创建的,而不是根据视图大小来创建的。如果你想要让对话框视图一样大小,可以按照以下步骤操作: 1. 打开 CFormView 对应的类文件,找到 OnInitialUpdate 函数。 2. 在 OnInitialUpdate 函数添加以下代码: ``` CRect rect; GetClientRect(&rect); m_pDialog->SetWindowPos(nullptr, rect.left, rect.top, rect.Width(), rect.Height(), SWP_NOZORDER); ``` 其,m_pDialog 是 CFormView 对话框指针,可以通过以下代码获取: ``` CDialog* pDlg = GetDlgItem(IDC_MY_DIALOG); m_pDialog = dynamic_cast<MyDialog*>(pDlg); ``` 这里的 IDC_MY_DIALOG 是对话框模板对话框控件的 ID,MyDialog 是对话框类的名称,可以根据你的实际情况进行修改。 3. 在 CFormView 的 OnInitialUpdate 函数添加以下代码: ``` CSize sizeTotal; // TODO: 计算视图大小 sizeTotal.cx = /* 视图的宽度 */; sizeTotal.cy = /* 视图的高度 */; SetScrollSizes(MM_TEXT, sizeTotal); ``` 其,TODO 后面的代码需要根据你的具体需求进行修改,计算出视图大小,并将其赋值给 sizeTotal。这里的 MM_TEXT 表示使用像素作为单位,如果你使用的是其他的单位,可以根据需要进行修改。 这样,对话框就会根据视图大小来进行调整,从而实现和视图一样大小的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值