![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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?