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

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

Панель задач [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, ...


Наверх

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