Главная страница
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.012 c
1-32506
Vladimir K.
2002-02-22 04:42
2002.03.11
Подвисание формы при выполнении цикла


14-32566
copyr25
2002-01-23 19:56
2002.03.11
Компьютер - первое творение человека, создав которое,


6-32524
Delphimun
2001-12-24 11:03
2002.03.11
Поиск файлов в локальной сети


6-32530
Evgueni
2001-12-23 17:10
2002.03.11
Как сменить стартовую страницу в IE средствами Delphi?


1-32461
Lotus
2002-02-23 13:22
2002.03.11
цветной фрагмент RichEdit