![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Панель задач [Delphi, Windows]
Кирилл © (2005-06-01 15:19:00)Подскажите пожалуйста, как сделать, чтобы через моё полноэкранное приложение (DirectDraw) не просвечивали часы и другая хрень на панели задачь?
Кирилл (2005-06-01 21:11:00) [1]
> 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);
Помогло! Огромное спасибо!
XProger (2005-06-01 19:03:00) [2]SetForegroundWindow(Handle);
Ну если и это не поможет - аффтар выпей йаду!
Zak3D[@Tm] (2005-06-01 18:58:00) [3]Кирилл ©
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 будет Вам в самый раз.
Но раз не помогает, то может у тебя окно фокус теряет?
Короче код в студию =).
Sphinx (2005-06-01 18:53:00) [4]В 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);
а то что ты написал...удали пока ни кто не видел ;)
Кирилл (2005-06-01 18:27:00) [5]
> SetWindowPos(Form1.Handle, hwnd_TopMost, x, y, w, h, SWP_NOACTIVATE);
К сожалению, не помогает, значки всё равно просвечивают
XProger (2005-06-01 18:01:00) [6]SetWindowPos(Form1.Handle, hwnd_TopMost, x, y, w, h, SWP_NOACTIVATE);
Кирилл (2005-06-01 17:31:00) [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
А это не помогает
Sphinx (2005-06-01 17:10:00) [8]>Возникает динамическая ошибка
По этому поводу - "телепаты уже в отпуске"
Код приведи и в каком месте ошибка возникает неплохобы написать.
XProger (2005-06-01 17:09:00) [9]Кирилл, мдя...
Вы видимо ещё верите в существование TForm...
Ну чтож, тогда FormStyle выставленный в fsStayOnTop будет Вам в самый раз.
Кирилл (2005-06-01 16:56:00) [10]
> Sphinx © (01.06.05 15:55) [3]
Возникает динамическая ошибка
Sphinx (2005-06-01 15:55:00) [11]Как ты окошко создаешь ?
Простой формой ?
Тогда переопределяй OnCreate, если на WinAPI:
CreateWindowEx
(WS_EX_APPWINDOW, // создается окно приложения
'MyCoolClass', // имя оконного класса класс
'MyCoolWindow', // заголовок окна
WS_POPUP, // стиль окна
0, // позиция по горизонтали
0, // позиция по вертикали
ScreenWidth, // ширина окна
ScreenHeight, // высота окна
0, // указатель на родительского окна
0, // указатель на меню окна
hInstance, // указатель на приложение создавшее окно
nil); // указатель на дополнительные параметры окна
Кирилл (2005-06-01 15:36:00) [12]А я не пользуюсь
CreateWindowEx
Я пользуюсь
DirectDrawCreateEx(...);
...
DDraw.CreateSurface(...) //Primary Surface
...
XProger (2005-06-01 15:27:00) [13]CreateWindowEx(WS_EX_TOPMOST, ...