Главная страница
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.03 c
6-1083608490
Alex B.
2004-05-03 22:21
2004.06.27
Нужно узнать IP по MACу!


14-1086615009
Соловьев
2004-06-07 17:30
2004.06.27
Задачки :)


14-1086873441
RealRascal
2004-06-10 17:17
2004.06.27
Передача параметров в метод


1-1086769550
AGGRESSOR
2004-06-09 12:25
2004.06.27
Excel OLE


3-1085826331
lemon
2004-05-29 14:25
2004.06.27
Проверка на выделение записи в таблице (компонент DBgrid)