![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Рисую на экране всякие козяблики
juice © (2005-01-28 17:21:00)Рисую на экране всякие козяблики, а как их потом убрать? А если серьезно, надо отобразить надпись а через несколько секунд убрать ее. Отображаю так:
C := TCanvas.Create;
with c do
begin
Handle := GetDC(0);
Font.Color:=RGB(255, 255, 255);
Font.Name:='Arial';
Font.Size:=20;
Brush.Color:=RGB(0,0,0);
TextOut(0,0, 'wefwefew');
c.Refresh;
Free;
end;
А вот как убрать ее не знаю. Просто сохранить кусок экрана до отображения надписи а затем восстановить его это очень ненадежно. Если мне не изменяет память API обладает средствами 'обновления(перерисовки)' окон. Что вы скажите?
Георгий Бедный (2005-01-29 13:24:00) [1]Кстати, о скринсейверах: кто-нить знает, как правильно прописать окно его настроек в WinAPI?? Мне надо SpinEdit для скорости, Edit и Button для имени файла (Имя файла: ______ Обзор...). Заранее благодарен.
Набережных С. (2005-01-28 22:37:00) [2]>Eraser © (28.01.05 21:26) [4]
Да, ты прав, извини, глюканул:(
Набережных С. (2005-01-28 22:31:00) [3]>Eraser © (28.01.05 21:26) [4]
А ты проверь.
Eraser (2005-01-28 21:26:00) [4]Набережных С. ©
W:=GetParent(GetDesktopWindow);
Это всё равно, что ноль к нулю приравнивать.
Набережных С. (2005-01-28 20:30:00) [5]W:=GetParent(GetDesktopWindow);
R:=Rect(сам считай);
InvalidateRect(W, @R, false);
Георгий Бедный (2005-01-28 18:52:00) [6]Делай как в играх и скринсейверах: на отдельную битмапу копируешь экран, потом совмещаешь её на форме с текстом. Единственный недостаток - копия экрана не будет обновляться. Но, думаю, ты сообразишь, как усовершенствовать такой способ.
Digitman (2005-01-28 17:29:00) [7]
> Рисую на экране всякие козяблики
нет бы рисовать нужную юзеру инф-цию) ..
ан нет ! обязательно "козяблики" он должен лицезреть) ... а как иначе ? на то он и юзер !)