龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

用CB动态改变显示器分辨率

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
void __fastcall TForm1::BTnGetClick(TObject *Sender) { int x,y; x = GetSystemMetrics(SM_CXSCREEN); y = GetSystemMetrics(SM_CYSCREEN); ShowMessage("显示器水平分辨率:" + AnsiString(x) + " 显示器垂直分辨率:" + AnsiString(y)); }

  void __fastcall TForm1::BTnGetClick(TObject *Sender)

  

{

  

int x,y;

  

x = GetSystemMetrics(SM_CXSCREEN);

  

y = GetSystemMetrics(SM_CYSCREEN);

  

ShowMessage("显示器水平分辨率:" + AnsiString(x) + "

显示器垂直分辨率:" + 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);

  

}

  

精彩图集

赞助商链接