Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Разрешение экрана


Автор: Михалыч 11.7.2008, 17:01
У меня такой вопрос:моя программа блокирует в установленное
время игры.То есть сворачивает игру и выскакивает окно во весь
экран где надо ввести пароль.Все нормально работает.Вопрос в том,
когда я играю в игру,то
игра выставляет разрешение экрана например 1024:768.А вопрос
такой:когда из моей программы выскакивает окно во весь экран,то мое
окно при разрешении игры 1024:768 становится не во весь экран,а смещается
в левый верхний угол,то есть не закрывает весь рабочий стол.А если в игре
сделать разрешение 800:600,то окно становится еще меньше и сдвигается
к левому верхнему углу.Подскажите что надо сделать чтобы окно независимо
от разрешения экрана всегда закрывало весь рабочий стол

Автор: Snowy 11.7.2008, 17:15
Показать окно, а потом установить размер во весь экран.

Автор: Михалыч 11.7.2008, 17:36
Цитата(Snowy @  11.7.2008,  17:15 Найти цитируемый пост)
Показать окно, а потом установить размер во весь экран. 


Не получается,я и в Show код вставлял Form4.WindowState:=wsMaximized; и в таймер пробовал.Все одно и тоже

Автор: Letov 12.7.2008, 00:40
А если попробовать выставлять размеры окна динамически?
Например, так:
Код
procedure TForm1.OnShow(Sender: TObject);
var Screen: TScreen;
begin
   Screen:=TScreen.Create(Form1);
   Form1.Height := Screen.Height;
   Form1.Width :=Screen.Width;
   Screen.Free;
end;


Автор: THandle 12.7.2008, 06:30
Цитата(Letov @  12.7.2008,  01:40 Найти цитируемый пост)
А если попробовать выставлять размеры окна динамически?


Размеры будут такие же как у окна игры.

Попробовал так:
Код


procedure TForm1.FormCreate(Sender: TObject);
begin
  Width := GetSystemMetrics(SM_CXSCREEN);
  Height := GetSystemMetrics(SM_CYSCREEN);
end;



То же самое. Видимо игра сама устанавливает разрешение. Остается делать так, как сказал Snowy.

Сначала показываем - потом ставим размер.

Или же можно попробовать сначала свернуть игру, потом показать форуму и сразу изменить размер...

Автор: deswars 14.7.2008, 10:01
Сначала показываеш форму, а потом подгоняеш размер под разрешение

Автор: MIXers 5.8.2008, 21:51
можно еще WinAPI пробнуть:

Код

  DC:=GetDC(0);
  Width:=GetDeviceCaps(DC, HORZRES);
  Height:=GetDeviceCaps(DC, VERTRES);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)