通常在写图片或影像显示相关程序的时候需要先根据图像的分辨率来动态调整对话框和里面控件的大小和比例之后再进行显示。下面来介绍下做法,单单是调整对话框的大小和位置是很简单的,只需要下面的代码
int screenwidth = GetSystemMetrics(SM_CXFULLSCREEN);//获取屏幕分辨率宽度,不包括任务栏等区域
int screenheight = GetSystemMetrics(SM_CYFULLSCREEN);//获取屏幕分辨率高度,不包括任务栏等区域
CRect rect(screenwidth / 2 - screenwidth / 4, screenheight / 2 - screenheight / 4, screenwidth / 2 + screenwidth / 4, screenheight / 2 + screenheight / 4); //获取控件变化前的大小
CWnd *pWnd = AfxGetMainWnd();
pWnd->MoveWindow(rect);
单单上面的代码只要运行就会把对话框移动到屏幕的中间,并且长宽都是屏幕的二分之一。接下来,我们需要根据调节后的对话框的尺寸来设定控件的位置,这一步其实是这个功能算是比较复杂的点,好在之前的这篇文章已经介绍过了,就不再在这里加以赘述。
本文介绍了如何根据屏幕分辨率动态调整对话框及其内部控件的大小与位置,以实现良好的视觉效果。通过获取屏幕尺寸并调整对话框的大小到屏幕的一半,再设置其位于屏幕中央。
1790

被折叠的 条评论
为什么被折叠?



