1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

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

Тема в разделе "Delphi - программирование", создана пользователем VahaC, 14 сен 2009.

  1. VahaC

    VahaC Well-Known Member

    Репутация:
    0
    Регистрация:
    10 янв 2007
    Сообщения:
    116
    Симпатии:
    0
    Вот так вывожу текст на экран
    Код:
    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 секунду?
    Или как иначе очистить прозрачный фон от предыдущего текста?
     
  2. NickProstoNick

    NickProstoNick Статус как статус :)
    Lotus team

    Репутация:
    0
    Регистрация:
    22 авг 2008
    Сообщения:
    1.785
    Симпатии:
    42
    А нельзя было обойтись прозрачной формой со свойством поверх всех окон?
     
Загрузка...
Похожие Темы - Очистка прозрачного фона
  1. StarikStarik2705
    Ответов:
    6
    Просмотров:
    1.893
  2. nikblow
    Ответов:
    1
    Просмотров:
    1.299
  3. Lukin_na
    Ответов:
    1
    Просмотров:
    1.334

Поделиться этой страницей