用VC调整显示器的分辨率

调整分辨率的代码如下:

DEVMODE dm;
 dm.dmSize = sizeof(DEVMODE) ;
 EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&dm);
 if(dm.dmPelsHeight!=1024||dm.dmPelsWidth!=1280){
  if(AfxMessageBox("为了达到最好的显示效果,建议您使用1280*1024的分辨率,确定吗?",MB_YESNO)==IDYES){
   LONG result;
   dm.dmBitsPerPel = 32;
   dm.dmPelsHeight = 1024;
   dm.dmPelsWidth = 1280;
   dm.dmFields = DM_BITSPERPEL|DM_PELSWIDTH|DM_PELSHEIGHT;
   result = ChangeDisplaySettings(&dm,0);
  }
 }

如果要在程序启动时自动自动调整到合适的分辨率,可以将其加入到View的OnInitialUpdate()中,并记录下dm.dmPelsHeightdm.dmPelsWidth的值

要在程序结束时自动调整回原有分辨率,可在MainFrame的OnClose()中用以上代码将其改回原值。

你可能感兴趣的:(VC)