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