用CB動(dòng)態(tài)改變顯示器分辨率

字號(hào):

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);
    }