改变屏幕分辨率
在程序中我要使我的程序运行时把800*600的屏幕改变为1024*768分辨率怎样做到?
在程序中怎样改变屏幕的 属性- >外观->方案里的类容?比如把默认的标准该为经典?
问题点数:0、回复次数:4Top
1 楼hcj2002(流浪者·躬自厚而薄责于人 )回复于 2005-03-04 20:06:38 得分 0
在程序中我要使我的程序运行时把800*600的屏幕改变为1024*768分辨率怎样做到?
--------------------------------------------------------------------------
用api函数SetDisplayMode();Top
2 楼EnochShen(小疯子:真的好菜—知耻而后勇!)回复于 2005-03-04 21:04:33 得分 0
int nFullWidth=GetSystemMetrics(SM_CXSCREEN);
int nFullHeight=GetSystemMetrics(SM_CYSCREEN);
bool bChanged=0;
if(nFullWidth!=800 | | nFullHeight!=600)//change to 800*600;
{
DEVMODE lpDevMode;
lpDevMode.dmBitsPerPel=16;//Change from 24 to 16
lpDevMode.dmPelsWidth=800;
lpDevMode.dmPelsHeight=600;
lpDevMode.dmDisplayFrequency=85;
lpDevMode.dmSize=sizeof(DEVMODE);
lpDevMode.dmFields =DM_PELSWIDTH |DM_PELSHEIGHT |DM_BITSPERPEL |DM_DISPLAYFREQUENCY;
LONG result;
//EnumDisplaySettings(NULL,ENUM_REGISTRY_SETTINGS,&lpDevMode);
result=ChangeDisplaySettingsEx(NULL,&lpDevMode,NULL,0,NULL);
if (result==DISP_CHANGE_SUCCESSFUL)
{
result=ChangeDisplaySettingsEx(NULL,&lpDevMode,NULL,CDS_UPDATEREGISTRY,NULL);
bChanged=1;
}
else
{
result=ChangeDisplaySettingsEx(NULL,&lpDevMode,NULL,0,NULL);
}
}Top
3 楼EnochShen(小疯子:真的好菜—知耻而后勇!)回复于 2005-03-04 21:05:40 得分 0
LONG ChangeDisplaySettings(
LPDEVMODE lpDevMode, // graphics mode
DWORD dwflags // graphics mode options
Top
4 楼renchuang(豹)回复于 2005-03-07 07:24:04 得分 0
请问EnochShen那怎样改变状态栏的位置呀?Top




