Текущий архив: 2005.10.02;
Скачать: CL | DM;
Вниз
Панель задач Найти похожие ветки
← →
Кирилл © (2005-06-01 15:19) [0]Подскажите пожалуйста, как сделать, чтобы через моё полноэкранное приложение (DirectDraw) не просвечивали часы и другая хрень на панели задачь?
← →
XProger © (2005-06-01 15:27) [1]CreateWindowEx(WS_EX_TOPMOST, ...
← →
Кирилл © (2005-06-01 15:36) [2]А я не пользуюсь
CreateWindowEx
Я пользуюсьDirectDrawCreateEx(...);
...
DDraw.CreateSurface(...) //Primary Surface
...
← →
Sphinx © (2005-06-01 15:55) [3]Как ты окошко создаешь ?
Простой формой ?
Тогда переопределяй OnCreate, если на WinAPI:
CreateWindowEx
(WS_EX_APPWINDOW, // создается окно приложения
"MyCoolClass", // имя оконного класса класс
"MyCoolWindow", // заголовок окна
WS_POPUP, // стиль окна
0, // позиция по горизонтали
0, // позиция по вертикали
ScreenWidth, // ширина окна
ScreenHeight, // высота окна
0, // указатель на родительского окна
0, // указатель на меню окна
hInstance, // указатель на приложение создавшее окно
nil); // указатель на дополнительные параметры окна
← →
Кирилл © (2005-06-01 16:56) [4]
> Sphinx © (01.06.05 15:55) [3]
Возникает динамическая ошибка
← →
XProger © (2005-06-01 17:09) [5]Кирилл, мдя...
Вы видимо ещё верите в существование TForm...
Ну чтож, тогда FormStyle выставленный в fsStayOnTop будет Вам в самый раз.
← →
Sphinx © (2005-06-01 17:10) [6]>Возникает динамическая ошибка
По этому поводу - "телепаты уже в отпуске"
Код приведи и в каком месте ошибка возникает неплохобы написать.
← →
Кирилл © (2005-06-01 17:31) [7]
> Sphinx © (01.06.05 17:10) [6]
procedure TForm1.FormCreate(Sender: TObject);
begin
CreateWindowEx(WS_EX_TOPMOST, "TForm1", "Form1", WS_POPUP, 0, 0, 500, 500, 0, 0, hInstance, nil);end;
______________________________________________________
(X) Access violation at address 00428CF4 in module "Project1.exe". Write of address 00000180.
------------------------------------------------------
> XProger © (01.06.05 17:09) [5]
> fsStayOnTop
А это не помогает
← →
XProger © (2005-06-01 18:01) [8]SetWindowPos(Form1.Handle, hwnd_TopMost, x, y, w, h, SWP_NOACTIVATE);
← →
Кирилл © (2005-06-01 18:27) [9]
> SetWindowPos(Form1.Handle, hwnd_TopMost, x, y, w, h, SWP_NOACTIVATE);
К сожалению, не помогает, значки всё равно просвечивают
← →
Sphinx © (2005-06-01 18:53) [10]В OnCreate попробуй так:
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_APPWINDOW or WS_POPUP);
SetWindowPos(Handle, 0, 0, 0, ScreenWidth, ScreenHeight, SWP_SHOWWINDOW);
а то что ты написал...удали пока ни кто не видел ;)
← →
Zak3D[@Tm] © (2005-06-01 18:58) [11]Кирилл ©
procedure TForm1.FormCreate(Sender: TObject);
begin
CreateWindowEx(WS_EX_TOPMOST, "TForm1", "Form1", WS_POPUP, 0, 0, 500, 500, 0, 0, hInstance, nil);
end;
=) ты немного не правильно понял.
CreateWindowEx(WS_EX_TOPMOST, "TForm1", "Form1", WS_POPUP, 0, 0, 500, 500, 0, 0, hInstance, nil); - WinApi ф-ция для создания окна, но раз ты делаешь игру на VCL(короче юзаешь стандартную форму), то эта ф-ция тебе не к чему.
--------------------------------------
В твоём случае может помочь то, что сказал
XProger © (01.06.05 17:09) [5]
//Ну чтож, тогда FormStyle выставленный в fsStayOnTop будет Вам в самый раз.
Но раз не помогает, то может у тебя окно фокус теряет?
Короче код в студию =).
← →
XProger © (2005-06-01 19:03) [12]SetForegroundWindow(Handle);
Ну если и это не поможет - аффтар выпей йаду!
← →
Кирилл © (2005-06-01 21:11) [13]
> Sphinx © (01.06.05 18:53) [10]
> В OnCreate попробуй так:
> SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle,
> GWL_EXSTYLE) or WS_EX_APPWINDOW or WS_POPUP);
> SetWindowPos(Handle, 0, 0, 0, ScreenWidth, ScreenHeight,
> SWP_SHOWWINDOW);
Помогло! Огромное спасибо!
Страницы: 1 вся ветка
Текущий архив: 2005.10.02;
Скачать: CL | DM;
Память: 0.5 MB
Время: 0.032 c