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

Вниз

Вывести сообщения поверх других окон.   Найти похожие ветки 

 
mr.Morra   (2002-01-12 19:44) [0]

КАК вывести сообщение поверх других окон - любых, даже если пользователь в игре?


 
denis_ka   (2002-01-13 19:09) [1]

Исли у игры не слишкой крутой FPS, то можно типа такого:
Timer1 с интервалом 1 (правда будет работат не менее 55), если не устроит, можно использовать более точный таймер вызовами API.

procedure TForm1.Timer1Timer(Sender: TObject);
var DC:HDC;
s:string;
begin
DC:=GetDC(0);
s:="Ura!!!";
textOut(DC,0,0,pchar(s),length(s));
ReleaseDC(0,DC);
end;


 
denis_ka ©   (2002-01-13 20:39) [2]

Вот еще один пример с использованием системного таймера - по-моему, он лучше предыдущего.
(Проверил на: просто Win, Direct3D, DirectDraw, OpenGL)

uses mmsystem;

var
uTimerID:UINT;
time:integer;

procedure TimeProc(uTimerID, uMessage: UINT;dwUser, dw1, dw2: DWORD); stdcall;
var DC:HDC;
s:string;
t:integer;
begin
timeKillEvent(uTimerID); //останавливаем таймер, кто знает может
//из-за запущенной игры отработка этой процедуры займет пол-часа?
DC:=GetDC(0);
t:=GetTickCount;
s:="Hello "+inttostr(t);
textout(DC,0,0,pchar(s),length(s));
ReleaseDC(0,DC);
if t-time<dwUser then uTimerID:=timeSetEvent(1,10,@TimeProc,dwUser,TIME_PERIODIC); //
//восстанавливаем таймер, если еще требуется показывать сообщение
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
uTimerID:=timeSetEvent(1,10,@TimeProc,5000,TIME_PERIODIC);
time:=GetTickCount;
//здесь dwUser = 5000 мс - длительность отображения сообщения
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
timeKillEvent(uTimerID);
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.007 c
1-32440
Lotus
2002-02-22 09:21
2002.03.11
Математическое выражение как аргумент


14-32577
33
2002-01-23 09:09
2002.03.11
Русская фантастика.Что нового?


1-32492
Man-In-Red
2002-02-24 16:26
2002.03.11
Как из полного имени файла вместе с директорией вычесть только формат?


3-32424
Johnmen
2002-02-11 12:57
2002.03.11
Проблема с триггером


3-32405
vacheslav
2002-02-12 15:00
2002.03.11
Динамические таблицы