一个对话框,在1024×768分辨率下显示完整;改到800×600分辨率下后,有一部分看不到了。如何保证同样的对话框在不同的屏幕分辨率下具有同样的大小(注意这个大小指的是可视大小,或者说是占整个屏幕的比例)?
//得到屏幕大小
int iScrWidth=GetSystemMetrics(SM_CXSCREEN);
int iScrHeight=GetSystemMetrics(SM_CYSCREEN);
//根据你的比例算出对话框位置
CRect rect;
rect.left = ...
rect.top = ..
rect.right = ...
rect.button = ...
//移动
dlg.MoveWindow(&rect);
要控件也跟着移动,最简单的办法就是用别人写好的代码
比如:
http://codeguru.earthweb.com/dialog/FlickerFreeResize.shtml
要么你就一个一个的算
模式的你要先DoModal才可以
把MoveWindow....加在Dialog的OnInitDialog里