Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Разрешение экрана


sofi ©   (2006-03-27 16:50:00) 

Подскажите пожалуйста, функцию определения размеров экрана в дэлфи.


sniknik   (2006-03-28 08:35:00) [1]

> Разрешение экрана в чём измеряется? в попугаях? ты Сергей М. если не знаеш то лучше не советуй
в вопросе было не "разрешение", в вопросе было " размер экрана", а размер прогрограмно практически невозможно определить.
почуствуйте разницу...

правда озаглавлено разрешением... понять можно, но лучше всетаки не путать.


Старик   (2006-03-28 08:26:00) [2]

А еще их можно изменять :)

unit SystemFeatures;

interface

uses Windows, Classes, SysUtils;

function ChangeDisplayMode(h_Wnd : HWND; Width, Height, BPP, Freq : integer) : boolean;

var
 ScrWidth  : integer = 800;
 ScrHeight : integer = 600;

implementation

function ChangeDisplayMode(h_Wnd : HWND; Width, Height, BPP, Freq : integer) : boolean;
var
dev  : TDeviceMode;
res  : DWORD;
bool : boolean;
begin
Result := false;
FillChar(dev, SizeOf(dev), 0);
dev.dmSize := sizeof(dev);
EnumDisplaySettings(nil, 0, dev);
with dev do
begin
dmPelsWidth        := Width;
dmPelsHeight       := Height;
dmBitsPerPel       := BPP;
dmDisplayFrequency := Freq;
dmFields := DM_BITSPERPEL or
            DM_PELSWIDTH  or
            DM_PELSHEIGHT or
            DM_DISPLAYFREQUENCY;
res := ChangeDisplaySettings(dev, CDS_TEST or CDS_FULLSCREEN);
if res = DISP_CHANGE_SUCCESSFUL then
 ChangeDisplaySettings(dev, CDS_FULLSCREEN);
end;

if res <> DISP_CHANGE_SUCCESSFUL then
begin
bool := false;
if Freq > 0 then
 bool := ChangeDisplayMode(h_Wnd, Width, Height, BPP, 0);
if not bool then
 begin
 ChangeDisplaySettings(_devicemodeA(nil^), CDS_FULLSCREEN);
 Exit;
 end;
end;

MoveWindow(h_Wnd, 0, 0, ScrWidth, ScrHeight, false);
Result := true;
end;

end.
Изменение размеров, полноэкранность/оконность, частота и др. приколы.


sofi   (2006-03-28 08:20:00) [3]

Разрешение экрана в чём измеряется? в попугаях? ты Сергей М. если не знаеш то лучше не советуй какая функция.... а вот Рамилю выражаю благодарность!


Сергей М.   (2006-03-27 16:52:00) [4]


> размеров экрана


В дюймах по диагонали ?
В попугаях ?

Или в каких единицах?


Рамиль   (2006-03-27 16:51:00) [5]

Screen.Width
Screen.Heigth


Наверх

Титульная страница Поиск, карта сайта Написать письмо