Главная страница
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.044 c
6-1083825897
matan
2004-05-06 10:44
2004.06.27
Пример простого CGI приложения.


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


6-1083851320
Yanis
2004-05-06 17:48
2004.06.27
mail


1-1087293114
Aleksej
2004-06-15 13:51
2004.06.27
Исключения в FormActivate, Create и т. д.


8-1081937872
AlexK
2004-04-14 14:17
2004.06.27
Есть ли в Делфи аналог объекта Line (VisualBasic) HELP !!!