Re: Разрешение экрана [Delphi]
Здравствуйте !
> Самый простой способ - через Screen:
> Screen.Width и Screen.Hеight
> Но можно еще через АПИ или через реестр.
Мои 5 копеек :
Через API :
1). Функция :
int GetSystemMetrics(int nIndex);
Вызывать с параметрами SM_CXSCREEN и SM_CYSCREEN.
Вернет ширину и высоту соответственно.
2). Функция
int GetDeviceCaps(HDC hdc, // handle to DC
int nIndex // index of capability);
Тут нужен дескриптор контекста устройства окна десктопа.
Получить его можно через GetDC.
То есть код (извиняйте, что на C, для делфи аналогично будет) :
HDC hDC = ::GetDC(NULL);
if(hDC)
{
int cx = GetDeviceCaps(hDC, HORZRES);
int cy = GetDeviceCaps(hDC, VERTRES);
::ReleaseDC(NULL, hDC);
}
3). Функция
BOOL GetMonitorInfo(HMONITOR hMonitor, // handle to display monitor
LPMONITORINFO lpmi // display monitor
information);
Вобщем то, эта функция дает гораздо больше информации, чем в данной
задаче
требуется, и создана для работы в системах с несколькими мониторами.
И в Win 95 ее нет (только начиная с 98-й), но можно и ее использовать.
--
С уважением, Вахтуров Виктор.
Информационный сайт для программистов http://SoftMaker.com.ru
Номер выпуска : 3458
Возраст листа : 319 (дней)
Количество подписчиков : 455
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/207113
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписать: mailto:comp.soft.prog.prog-unsub@subscribe.ru
http://subscribe.ru/ http://subscribe.ru/feedback
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-*Информационный канал Subscribe.Ru
Адрес подписки:
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписать: mailto:comp.soft.prog.prog--unsub@subscribe.ru
http://subscribe.ru/ http://subscribe.ru/feedback