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

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

Как сделать приложение, изменяющее разрешение?


GrayFace ©   (2004-03-04 18:45:00) 

Надо, чтобы при активации графическая мода изменялась, а при деактивации восстанавливалась и прога сворачивалась.
Этот код не действует:

function SetFullscreenMode(w,h,c:integer):Boolean;
var DeviceMode : TDevMode;
begin
with DeviceMode do begin
 dmSize:=SizeOf(DeviceMode);
 dmBitsPerPel:=c;
 dmPelsWidth:=w;
 dmPelsHeight:=h;
 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 DefaultDeviceMode : TDevMode;
begin
 ChangeDisplaySettings(DefaultDeviceMode,CDS_FULLSCREEN);
end;

procedure TForm1.ApplicationEvents1Activate(Sender: TObject);
begin
 if not SetFullscreenMode(640,480,32) then
   if not SetFullscreenMode(640,480,16) then
     if not SetFullscreenMode(640,480,8) then
       SetFullscreenMode(640,480,4);
 WindowState:=wsMaximized;  {}
end;

procedure TForm1.ApplicationEvents1Deactivate(Sender: TObject);
begin
 Application.Minimize;
 restoreDefaultMode;
end;

При деактивации разрешение остается прежним.


[lamer]Barmaglot   (2004-03-05 14:35:00) [1]

RTFM?

http://www.delphimaster.ru/articles/display/index.html


Наверх

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