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

Вниз

без asmы   Найти похожие ветки 

 
ATLANTIDO ©   (2002-03-09 00:11) [0]

Наверное Вы все видели как программа-клиент администрирования
комп. клуба выдает за пять минут до окончаня времени предупреждение типа, - "Осталось 5 минут !!! :)". А возможно
ли такое такое провернуть средствами Delphi (winApi), не используюя прямую запись в видеобуфер ?


 
ATLANTIDO ©   (2002-03-09 15:51) [1]

Помогите !


 
VuDZ ©   (2002-03-09 16:15) [2]

открою секрет: ты не можешь напрямую писать в видео-буфер, это не ДОС.
Тебе надо искать в районе DirectDraw или topmost-window

Можно ещё рисовать на GetDC(0), это экран, но не знаю, как к этому отнесуться игры, хотя попробовать можно


 
ATLANTIDO ©   (2002-03-09 17:47) [3]

Понял, спасибо попробую.


 
ATLANTIDO ©   (2002-03-09 19:30) [4]

Делаю так :

procedure TForm1.Button1Click(Sender: TObject);
var
PenHandle, OldPenHandle: HPEN;
PaintDC : HDC;
FontHandle, OldFontHandle : HFont;
words1 : PChar;
begin
PaintDC:=GetDC(0);
FontHandle := CreateFont(50, 0, 0, 0, 700, 0, 0, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, nil);
OldFontHandle := SelectObject(PaintDC, FontHandle);
words1 := "Осталось 5 минут";
TextOut(PaintDc,10,10, words1, 16);
SelectObject(PaintDC,OldFontHandle);
DeleteObject(FontHandle);
end;

А как затереть эту надпись ? Ведь если игра не обновляет свой
экран, этот меседж будет висеть еще долго.


 
SerVS ©   (2002-04-11 10:18) [5]

>если игра не обновляет свой..
Ты такое видел?
Сначала скопировать ту область куда собираешься выводить в буфер (какой-нибудь). Потом вывести надпись. Потом вывести картинку из буфера.


 
ION T ©   (2002-04-11 21:56) [6]

Попробуй что-то типа:

procedure TForm1.Button1Click(Sender: TObject);
var
PenHandle, OldPenHandle: HPEN;
PaintDC : HDC;
FontHandle, OldFontHandle : HFont;
words1 : PChar;
begin
PaintDC:=GetDC(0);
FontHandle := CreateFont(50, 0, 0, 0, 700, 0, 0, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, nil);
OldFontHandle := SelectObject(PaintDC, FontHandle);
words1 := "



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

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

Наверх




Память: 0.48 MB
Время: 0.009 c
3-23444
BJValentine
2002-06-13 17:45
2002.07.08
---|Ветка была без названия|---


14-23762
lipskiy
2002-06-06 20:26
2002.07.08
Люди! Счас с ума сойду... Как это может быть???


3-23472
_dron_
2002-06-14 16:11
2002.07.08
Не выполняет Update ADOQuery


1-23541
Jackie
2002-06-25 07:04
2002.07.08
Help!!!! Помогите, уважаемые мастера....


4-23830
Olgerd
2002-05-09 15:29
2002.07.08
Ускорение запуска консольной проги.