Altera Resolução de Tela


O exemplo a seguir, que pode ser melhorado, leva dois botões no form e mostra um caminho para se alterar a resolução de tela, de acordo com uma das opções fornecidas pelo usuário ao Windows:



//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{

  HDC Video = GetDC(NULL);
  int horizontal=GetDeviceCaps(Video,HORZRES);
  int vertical=GetDeviceCaps(Video,VERTRES);
//  int freq=GetDeviceCaps(Video,VREFRESH); // apenas para Windows NT
  ReleaseDC(NULL, Video);
  horizontal=1024;
  vertical=768;
  DEVMODE dvmd;
  ZeroMemory(&dvmd, sizeof(DEVMODE));
  dvmd.dmSize = sizeof(DEVMODE);
  dvmd.dmPelsWidth = horizontal;
  dvmd.dmPelsHeight = vertical;
//  dvmd.dmDisplayFrequency = freq;
  dvmd.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_DISPLAYFREQUENCY;
  ChangeDisplaySettings(&dvmd, 0);

}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  HDC Video = GetDC(NULL);
  int horizontal=GetDeviceCaps(Video,HORZRES);
  int vertical=GetDeviceCaps(Video,VERTRES);
//  int freq=GetDeviceCaps(Video,VREFRESH);
  ReleaseDC(NULL, Video);
  horizontal=800;//1024; // 640;
  vertical=600;//768; // 480;
  DEVMODE dvmd;
  ZeroMemory(&dvmd, sizeof(DEVMODE));
  dvmd.dmSize = sizeof(DEVMODE);
  dvmd.dmPelsWidth = horizontal;
  dvmd.dmPelsHeight = vertical;
//  dvmd.dmDisplayFrequency = freq;
  dvmd.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_DISPLAYFREQUENCY;
  ChangeDisplaySettings(&dvmd, 0);
}


//---------------------------------------------------------------------------




HOME || MAPA DO SITE || CURSOS || TUTORIAIS || LINKS || FORUM || CONTATO