适应不同分辨率的对话框界面

来源:互联网 发布:楼宇智能化知乎 编辑:程序博客网 时间:2024/06/07 03:45

参考:http://bbs.csdn.net/topics/370126703

          http://blog.csdn.net/vistas_fh/article/details/17486485VC++对话框适应不同分辨率

你可以用全屏显示,也可以下面这样

int x = GetSystemMetrics(SM_CXSCREEN);   //获取屏幕X像素

int y = GetSystemMetrics(SM_CYSCREEN);   //获取屏幕Y像素

//然后在通过MoveWindow来固定位置和大小

MoveWindow(x/2-269,y/2-260,530,560,NULL);   //里面的参数是MoveWindow(x,y,width,height,NULL);

你可以根据你获得不同桌面的x,y来确定自己的软件大小,下面是全屏的方法

/*************************设置父窗口全屏************************************/

ModifyStyle(WS_CAPTION,0,0);

int x = GetSystemMetrics(SM_CXSCREEN);   //获取屏幕X像素

int y = GetSystemMetrics(SM_CYSCREEN);   //获取屏幕Y像素

RECT rectDesktop;

WINDOWPLACEMENT wpNew;

WINDOWPLACEMENT m_wpPrev;

GetWindowPlacement(&m_wpPrev);

::GetWindowRect(::GetDesktopWindow(),&rectDesktop);

::AdjustWindowRectEx(&rectDesktop, GetStyle(), FALSE, GetExStyle());

wpNew = m_wpPrev;

wpNew.showCmd = SW_SHOWNORMAL;

wpNew.rcNormalPosition = rectDesktop;

 SetWindowPlacement ( &wpNew );

/////////////////////////////////////////////////////////////////////////////

这个写在OnInitDialog方法中就可以

0 0