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

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

Как обновить экран


sndanil ©   (2002-06-27 10:08:00) 

После того как делаю ТерминейтПроцесс для Халф-Лайфа, то происходит следующая вещь... на экране остается текущая игровая картинка, а все окна находятся за ней... вопрос: как перерисовать экран, что бы на экране были только те окна, которые сейчас запущены


Victor   (2002-07-05 06:17:00) [1]

по моему самый простой способ перегрузить explorer и никаких проблем:)


Proton   (2002-06-27 17:44:00) [2]

Не знаю как на счет халвы но в играх бывает такой глючек. Видеорежим они меняют,

скажем с 800*600 на 640*480.
И при смене видеорежима апевой функций ставят параметр - не посылать другим окнам

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

на круги своя). Но когда процес мочеш игра ни чего не возвращает. А эксплорер так

и не знает и находится в низу экрана за пределами отображаемой части.
Если это так то тебе поможет
восстановление нормального видеорежима
Function ChangeDspRes(CONST VM:PROTOVM):boolean;
var
dm : TDEVMODE;
chrz:integer;
begin
Result:=false;
ZeroMemory(@dm, sizeof(TDEVMODE));
dm.dmSize := sizeof(TDEVMODE);
dm.dmPelsWidth := VM.XRES;
dm.dmPelsHeight := VM.YRES;
dm.dmBitsPerPel := VM.BPP;
dm.dmDisplayFrequency :=VM.RFR;
dm.dmFields := DM_PELSWIDTH or
DM_PELSHEIGHT OR
DM_BITSPERPEL OR
DM_DISPLAYFREQUENCY;
chrz:=ChangeDisplaySettings(dm, CDS_TEST);
if errdm(chrz,CDS_TEST) then
begin
chrz:=ChangeDisplaySettings(dm, CDS_UPDATEREGISTRY);
Result:=errdm(chrz,CDS_UPDATEREGISTRY);
end;
end;


sndanil   (2002-06-27 10:44:00) [3]

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


Фикус   (2002-06-27 10:37:00) [4]

попробуй:
http://delphi.mastak.ru/cgi-bin/faq.pl?look=1&id=988620867&n=15


Opuhshii   (2002-06-27 10:29:00) [5]

SendMessage(GetDeskTop,WM_PAINT,0,0); не спасает?


Наверх

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