Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.11;
Скачать: [xml.tar.bz2];




Вниз

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


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;




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.11;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.02 c
1-32463           FELLINI               2002-02-21 04:15  2002.03.11  
Можно ли использовать математ. формулы в Delphi


14-32544          vopros                2002-01-23 16:48  2002.03.11  
Всем кому нужна помощь по программированию


14-32555          RUS1                  2002-01-25 14:47  2002.03.11  
Братья нужен простенький инсталятор на Delphi с исходными текстами!!


1-32481           Diamond Dog           2002-02-24 13:54  2002.03.11  
Перемещение курсора но пустому! Memo


3-32427           olkononov             2002-02-08 15:32  2002.03.11  
bde сохраняет только последние данные!!!почему?