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

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

Восстановление окна после полно-экранного режима. [Delphi, Windows]


MrAngel ©   (2004-12-01 19:11:00) 

САБЖ.
Как корректно восстановить окно при переходе с полноэкранного режима?

Если этого не делать то прорисовка будет идти в окне, но окно будет без заголовка, меню и т.д.

Всё относится к Direct3D.


Sphinx   (2004-12-02 18:15:00) [1]

> MrAngel   (02.12.04 17:22) [5]

Это не совсем то :)
это мой код переключения активного окна при восстановлении из свернутого состояния...ну а как его переработать думаю сам догадаешься? Проблем не было...восстанавливается вроде нормально.


MrAngel   (2004-12-02 17:22:00) [2]

Darthman ©  у меня DIrect3D - здесь не поверхности а буффера :-)) Всё рендерится, если сделать как я указал.

Sphinx   (01.12.04 22:21) [3] - по моему это не то, но всёравно попробую. Спасибо.


Darthman   (2004-12-01 23:00:00) [3]

если директХ, то надо восстановить все поверхности чтобы рендерилось.


Sphinx   (2004-12-01 22:21:00) [4]

// переключение активного окна
actHandle:=SetActiveWindow(mainHandle);
// если окно приложения активировано
if actHandle=mainHandle then
 begin
   // фокус ввода окну приложения
   DefWindowProc(mainHandle, WM_SYSCOMMAND, SC_RESTORE, 0);
   SetWindowPos(mainHandle, 0, 0, 0, Screen_Width, Screen_Height, SWP_SHOWWINDOW);
  // указываю что активно
  appActive := TRUE;
 end;


MrAngel   (2004-12-01 22:09:00) [5]


> borderstyle:=bsSingle;?

Появилось окно - показывается фпс в заголовке (так и должно быть), но само, что рендерится не показывает.

Покапавшись в исходниках D3DApp Нашёл вот такое:

SetWindowPos(Handle, HWND_NOTOPMOST,Left,Top,Width,Height,SWP_SHOWWINDOW);


Однако, что то мне подсказывает, что этого мало. Вышеуказанная строчка срабатывает, если у меня "стандартное Дельфийское окно". Но помоему это не сработает если сам буду делать окна.

Ещё какие нибудь идеи?


TButton   (2004-12-01 20:32:00) [6]

borderstyle:=bsSingle;?


Наверх

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