精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>C/C++>>图形图像及多媒体专题>>懒人专用

主题:懒人专用
发信人: 1landonsea(一路萤火虫)
整理人: wenbobo(2002-08-05 19:49:49), 站内信件
没什么特别的。不过是换分辨率:


BOOL Kp_ChangeDisplaySettings( int width, int height, DWORD dwFrequency , int bitDepth = 0 )
{
int change;
DEVMODE dm = { 0 } ;

dm.dmSize = sizeof(dm);
dm.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_DISPLAYFREQUENCY ;
dm.dmPelsWidth  = width;
dm.dmPelsHeight = height;
dm.dmDisplayFrequency = dwFrequency ;
if( bitDepth != 0 )
{
dm.dmFields |= DM_BITSPERPEL;
dm.dmBitsPerPel = bitDepth;
}  //    change = ChangeDisplaySettings(&dm, CDS_TEST);
change = ChangeDisplaySettings(&dm, CDS_UPDATEREGISTRY ) ;
//EnumDisplaySettings

if( change == DISP_CHANGE_SUCCESSFUL )
return TRUE;
else
return FALSE;
}  


void SwitchDisplaySetting ()
{
DEVMODE dm = { 0 } ;
dm.dmSize = sizeof(dm);
        
EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS , &dm ) ;
if ( dm.dmPelsWidth == 800 )
{
Kp_ChangeDisplaySettings( 1024 , 768 , dm.dmDisplayFrequency , dm.dmBitsPerPel ) ;
}
else if ( dm.dmPelsWidth == 1024 )
{
Kp_ChangeDisplaySettings( 800 , 600 , dm.dmDisplayFrequency , dm.dmBitsPerPel ) ;
}
            
}

[关闭][返回]