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

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

Смена разрешения монитора


KLM ©   (2001-11-15 06:26:00) 

Подскажите, пожалуйста, как программно менять разрешеия монитора?
И параметры вообще..............


VEG   (2001-11-20 22:19:00) [1]

>GovoRun
Меня тоже это интересует...


GovoRun   (2001-11-19 19:40:00) [2]

А как насчет размера системного шрифта
Можно ли это сделать без перезагрузки?


PGM   (2001-11-19 12:05:00) [3]

А о WM_DEVMODECHANGE ГОВОРИТЬ можно?


Dmitriy (old )   (2001-11-18 09:58:00) [4]

O
procedure WMDisplayChange(var Message: TMessage); message WM_DISPLAYCHANGE;

НЕ ГОВОРИТЕ .


Dmitriy (old )   (2001-11-18 09:56:00) [5]

И КАК ПОТОМ ПОСЛАТЬ СООБЩЕНИЕ всем !!! ПРОГ. о изменении резолюции

( особенно DECKTOP ) ???


Dmitriiy   (2001-11-18 09:45:00) [6]

Почему НИ КТО НЕ ПИШЕТ О РАРАМЕТРЕ : dmDisplayFrequency:=85; ???


function SetFullscreenMode(ModeIndex: Integer):boolean;
var DeviceMode : TDevMode;
begin
with DeviceMode do begin
dmSize:=SizeOf(DeviceMode);
dmBitsPerPel:=32;
dmPelsWidth:=800;
dmPelsHeight:=600;
dmDisplayFrequency:=85;
dmFields:=DM_BITSPERPEL or DM_PELSWIDTH or DM_PELSHEIGHT
or DM_DISPLAYFREQUENCY;
Result:=False;
if ChangeDisplaySettings(DeviceMode,CDS_TEST or CDS_FULLSCREEN)
<> DISP_CHANGE_SUCCESSFUL then
Exit;
Result:=ChangeDisplaySettings(DeviceMode,CDS_FULLSCREEN)
= DISP_CHANGE_SUCCESSFUL;
end;
end;

procedure RestoreDefaultMode;
var T : TDevMode absolute 0;
begin
ChangeDisplaySettings(T,CDS_FULLSCREEN);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if setFullScreenMode(1) then begin
sleep(10000);
RestoreDefaultMode;
end;
end;


fenix   (2001-11-16 11:25:00) [7]

Мне недавно один из мастеров прислал ответ на этот вопрос, к своему стыду не запомнил его имени, а письмо удалено. Вот его совет, у меня тоже работает


function SetFullscreenMode:Boolean;
var DeviceMode : TDevMode;
begin
with DeviceMode do begin
dmSize:=SizeOf(DeviceMode);
dmBitsPerPel:=16;
dmPelsWidth:=1024;
dmPelsHeight:=768;
dmFields:={DM_BITSPERPEL or }DM_PELSWIDTH or DM_PELSHEIGHT;
result:=False;
if ChangeDisplaySettings(DeviceMode,CDS_TEST or CDS_FULLSCREEN) <> DISP_CHANGE_SUCCESSFUL
then Exit;
Result:=ChangeDisplaySettings(DeviceMode,CDS_FULLSCREEN) = DISP_CHANGE_SUCCESSFUL;
end;
end;

procedure RestoreDefaultMode;
var T : TDevMode absolute 0;
begin
ChangeDisplaySettings(T,CDS_FULLSCREEN);
end;

procedure Tpassword.FormClose(Sender: TObject; var Action: TCloseAction);
begin
RestoreDefaultMode;
end;


Anatoly Podgoretsky   (2001-11-15 22:27:00) [8]

Только желательно делать это на чужих компьютерах


Юрий Зотов   (2001-11-15 15:25:00) [9]

ChangeDisplaySettings


KLM   (2001-11-15 08:21:00) [10]

Ну неужели никто не знает как это делается!?


Наверх

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