【文件属性】:
文件名称:MFC 对话框最大化时控件也随比例最大化或者还原
文件大小:27KB
文件格式:DOC
更新时间:2012-12-15 05:44:11
MFC 对话框最大化
MFC 对话框最大化时控件也随比例最大化或者还原
1. 在oninitdlg中 计算出当前对话框的大小与最大化后大小,注意要用float值,不然误差很大.
CRect rect;
::GetWindowRect(m_hWnd,rect);
ScreenToClient(rect);
m_nDlgWidth = rect.right - rect.left;
m_nDlgHeight = rect.bottom - rect.top;
//计算分辨率
m_nWidth = GetSystemMetrics(SM_CXSCREEN);
m_nHeight = GetSystemMetrics(SM_CYSCREEN);
//计算放大倍数
m_Multiple_width = float(m_nWidth)/float(m_nDlgWidth);
m_Mutiple_heith = float(m_nHeight)/float(m_nDlgHeight);
change_flag=TRUE;//这个是成员变量bool形,用来判断onsize执行时oninitdlg是否已经执行了
网友评论
- 算是有点用吧,谢谢分享
- 有部分能用。。。还是谢了
- 还原就出错了
- 没太看懂,不过还是谢谢楼主
- 有用,可以看看
- 步骤不详细,帮到我了,思想可借鉴!
- 还可以,但是不详细
- 有点用,但不是很好。
- 不错,还可以。值得借鉴。
- 不能运行,老是异常
- 帮到我了 只是应用场合有点局限
- 其中那个判断oninitdlg是否已经执行有点问题,建议还是利用iswindow来判断。
- 有点用,不过还是不详细
- 思想可借鉴!
- 写得很好,但步骤不详细,根本不知道要怎么去实现。把代码插到哪里。