• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Очистка прозрачного фона от предыдущего текста

  • Автор темы VahaC
  • Дата начала
V

VahaC

Вот так вывожу текст на экран
Код:
var
OldBkMode: integer;
c: TCanvas; { тут мы объявляем переменные }
s: String;
r: TRect;
begin


SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDCHANGE); //С помощью этого кода очищаю фон


r.Left := screen.Width - 400;
r.Top := screen.Height - 200;
r.Right := r.Left + 250;
r.Bottom := r.Top + 110;
c := TCanvas.Create;
c.Handle := GetDC(GetWindow(GetDesktopWindow, GW_OWNER));
with c do
begin
Font.color := clYellow;
Font.name := 'Times New Roman';
Font.Size := 72;
OldBkMode := SetBkMode(Handle, TRANSPARENT);
TextOut(r.Left + (r.Right - r.Left - c.TextWidth(volume)) div 2, r.Top, volume);
SetBkMode(Handle, OldBkMode);
end;

надпись практически моментально исчезает.
Как вывести надпись хотяб на 1 секунду?
Или как иначе очистить прозрачный фон от предыдущего текста?
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
А нельзя было обойтись прозрачной формой со свойством поверх всех окон?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!