Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.27;
Скачать: CL | DM;

Вниз

Окно всегда наверху   Найти похожие ветки 

 
Elysium ©   (2004-05-19 15:47) [0]

Недавно был вопрос на тему, как заставить окно быть всегда наверху (и в играх тоже - например часы или АдминКлуб какой-нибудь и т.п.), ответов было много:

1.FormStyle:=fsStayOnTop
2. SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE) по частому таймеру или Deactivate
3. рисовать прямо на экран
GetDC(0);
Rectange(...

4. Использовать отдельный поток в REALTIME
5. Мне еще предлагали использовать
SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);

НО и еще раз НО, все эти способы действительно помогают, но окно - очень сильно моргает, особенно в динамичных играх, а нужно, чтобы человек играл, окно висело сверху, и при использовании (как Роман предложил) REALTIME или частого таймера игра не тормозила. Вот. Кто поможет, а?


 
DVM   (2004-05-19 17:19) [1]


> НО и еще раз НО, все эти способы действительно помогают,
> но окно - очень сильно моргает, особенно в динамичных играх,
> а нужно, чтобы человек играл, окно висело сверху, и при
> использовании (как Роман предложил) REALTIME или частого
> таймера игра не тормозила. Вот. Кто поможет, а?

Невозможно ИМХО. Только через специфические фичи в драйверах некоторых видеокарт (например от Nvidia, так же как ее лого). Но во-первых, не ясно как это сделать, во-вторых, есть не у всех видеокарт.
Я не видел ни одной программы, где бы такое было реализовано.


 
NAlexey ©   (2004-05-20 08:52) [2]

>DVM   (19.05.04 17:19) [1]
Лень конечно проводить эксперемент, но если отлавливать событие окна WM_WINDOWPOSCHANGING, смотреть, если его переводят ниже в Z последовательности, переводить на верх, разве не сработает?


 
Elysium ©   (2004-05-20 09:58) [3]

Кстати, а можно ли такой вариант сделать - игры рисуются (допустим) в DirectX, видеокарта обновляет изображение с некоторой частотой FPS. Так возможно ли как-нибудь отлавливать каждый кадрик - и рисовать на нем, что хочу, а потом  отправлять на монитор (ну да сам понимаю, что что-то не то пишу - а вдруг?). Или например рисовать прямо в память видеокарты (ну как в добром BorlandPascal в адреса выше &A000 :-))), ну, какие идея (или пошлете меня к черту?)?



Страницы: 1 вся ветка

Текущий архив: 2004.06.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.045 c
1-1086708278
matt
2004-06-08 19:24
2004.06.27
StringGrid


4-1084913143
GanibalLector
2004-05-19 00:45
2004.06.27
прием WM_USER в консоли.


1-1087242497
lena19
2004-06-14 23:48
2004.06.27
чем заменить s:=chr(1)+chr(1).....+chr(1)


10-1013429216
Flash1
2002-02-11 15:06
2004.06.27
Ошибка при запуске Не найден указанный модуль orbpas41.dll


9-1077366521
неважно
2004-02-21 15:28
2004.06.27
Игровое поле для ТБС