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

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

FullScreen in DirectX9 ?


AlexT1000 ©   (2003-09-11 18:50:00) 

Как мне сделать так , чтобы моя программа сразу запускалась в FullScreen режиме?


NailMan   (2003-09-12 09:44:00) [1]

Если ты делаешь окно через форму то не знаю, а если по нормальному создаешь окно через Win API, то создаешь функцию

Procedure CreateMainWindow(FullScreen:Boolean);
begin
 with WndClass do begin                                     // Window parameters
   style := CS_VREDRAW or CS_HREDRAW;
   lpfnWndProc := @WndProc;
   cbClsExtra := 0;
   cbWndExtra := 0;
   WndClass.hInstance := HInstance;
   hIcon := LoadIcon(HInstance, IDI_APPLICATION);
   hCursor := LoadCursor(HInstance, IDC_ARROW);
   hbrBackground := GetStockObject(BLACK_BRUSH);
   lpszMenuName := nil;
   lpszClassName:= @AppName;
 end;
 RegisterClass(WndClass);
 If FullScreen then
 Handle:=CreateWindowEx(WS_EX_TOPMOST, @AppName, 'My Application', WS_POPUP, 0, 0,
                     ScreenWidth,ScreenHeight, 0, 0, HInstance, nil)
 else
 Handle:=CreateWindow(@AppName,'My Application',CW_USEDEFAULT, 0, 0, ScreenWidth, ScreenHeight, 0, 0, HInstance, nil);
end;


переменным ScreenWidth, и ScreenHeight необходимо предварительно определить значения разрешения. Handle - это твой указатель окна, а функция WndProc имеет вид:

Function WndProc(HWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
 case Msg of
   WM_DESTROY: begin
                 PostQuitMessage(0);
                 Result := 0;
               end;
 else
   Result := DefWindowProc(HWnd, Msg, WParam, LParam);
 end;
end;


Модули и необходимые переменные объявишь уже сам.

ЗЫ: Порабы уж забыть про Forms при написании 3Д игрушек. Да и для 2Д тоже.


miek   (2003-09-11 23:27:00) [2]

Почему бы не делать так, как везде. Причем тут именно DirectX 9?


Наверх

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