100分求2个API函数!!急急急!!!

lxwq 2003-12-16 06:33:52
获取和设置屏幕的分辨率,的API函数是什么?
...全文
72 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangzi163 2003-12-18
  • 打赏
  • 举报
回复
GetSystemMetrics(SM_CXSCREEN)
GetSystemMetrics(SM_CYSCREEN)
wqs6 2003-12-18
  • 打赏
  • 举报
回复
获取
int xSize=::GetSystemMetrics(SM_CXSCREEN);
int ySize=::GetSystemMetrics(SM_CYSCREEN);

设置可以参考以下
Bool CVideoModes :: GetCurrentVideoSettings(DEVMODE *devmode)
{
HWND hwndDesktop=GetDesktopWindow();
HDC hdc=GetDC(hwndDesktop);
devmode -> dmSize =sizeof(DEVMODE);
devmode -> dmBitsPerPel=GetDeviceCaps(hdc,BITSPIXEL);
devmode -> dmPelsWidth=GetSystemMetrics(SM_CXSCREEN);
devmode -> dmPelsHeight=GetSystemMetrics(SM_CYSCREEN);
devmode -> dmFields=DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;
return TRUE;
}
下面的代码展示了如何使用EnumDisplaySettings获得当前支持的所有显示模式:
int modenum,done;
DEVMODE devmode;
done=0;
modenum=0;
do
{
done=!EnumDisplaySettings(NULL,modenum,&devmode);
AddToList(&devmode);
modenum++;
}while (!done);
设置显示模式的方法如下:
rc = ChangeDisplaySettings(&devmodeCDS_FULLSCREEN));这里的devmode就
是前面使用EnumDisplaySettings获得的。
如果设置正常,返回值DISP_CHANGE_SUCCESSFUL。

摘自:http://www.ccw.com.cn/htm/produ/special/vc/jiqiao/01_9_13_5.asp


另外还有程序段中的运用:
void __fastcall TForm1::btnGetClick(TObject *Sender)
{
int x,y;
x = GetSystemMetrics(SM_CXSCREEN);
y = GetSystemMetrics(SM_CYSCREEN);
ShowMessage("显示器水平分辨率:" + AnsiString(x) + "\n\n显示器垂直分辨率:" + AnsiString(y));

}
//---------------------------------------------------------------------------
void __fastcall TForm1::DynamicResolution(int x,int y)
{
TDeviceMode lpDevMode;
bool Result;

Result = EnumDisplaySettings(NULL,0,&lpDevMode);
if (Result)
{
lpDevMode.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT;
lpDevMode.dmPelsWidth = x;
lpDevMode.dmPelsHeight = y;
Result = ChangeDisplaySettings(&lpDevMode,0);
// = DISP_CHANGE_SUCCESSFUL;
}
}
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
DynamicResolution(800,600);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{
DynamicResolution(1024,768);
}

arvid_gs 2003-12-18
  • 打赏
  • 举报
回复
获取:GetSystemMetrics
设置 ChangeDisplaySettings
iamknight 2003-12-16
  • 打赏
  • 举报
回复
ChangeDisplaySettings()
checkyvc6 2003-12-16
  • 打赏
  • 举报
回复
DEVMODE mode;
memset(&mode, 0, sizeof(DEVMODE));
mode.dmSize = sizeof(DEVMODE);
mode.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT;
mode.dmPelsWidth = 800;
mode.dmPelsHeight = 600;
ChangeDisplaySettings(&mode, CDS_RESET);
晨星 2003-12-16
  • 打赏
  • 举报
回复
获取可以使用GetSystemMetrics.
设置不太清楚。

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧