Как узнать высоту и ширину экрана в пикселях? Для этого можно воспользоваться глобальным объектом Screen, при этом: Screen->Width - ширина; Screen->Height - высота.
Как сменить разрешение экрана?
DEVMODE dm; dm.dmSize = sizeof(DEVMODE); int index = 0; while (EnumDisplaySettings(NULL, index, &dm)) { if (dm.dmPelsWidth == 800 && dm.dmPelsHeight == 600) { dm.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT; LONG result = ChangeDisplaySettings(&dm, CDS_TEST); if (result == DISP_CHANGE_SUCCESSFUL) { ChangeDisplaySettings(&dm, 0); break; } else if (result == DISP_CHANGE_RESTART) { ShowMessage("Требуется перезагрузка"); break; } else { ShowMessage("Установка не поддерживается монитором"); break; } } index++; }
Как узнать размер рабочей области экрана? Прим.: Рабочая область - часть экрана, не закрываемая панелью задач TRect rect; if( SystemParametersInfo(SPI_GETWORKAREA,0,&rect,0) ) { // получили размер рабочей области ShowMessage("WorkArea size is "+AnsiString(rect.Width())+"x"+AnsiString(rect.Height())); } else { // не удалось получить размер рабочей области ShowMessage("GetWorkArea failed"); } |