| Содержание | Последнее обновление: 14.02.2004 | |
|
Размер экрана Автор(ы): kenai, OlegGG, trainer Для этого можно воспользоваться глобальным объектом 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");
}
|