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

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

  1. VahaC

    VahaC Well-Known Member

    Регистрация:
    10 янв 2007
    Сообщения:
    116
    Симпатии:
    0
    Вот так вывожу текст на экран
    Код (Text):
    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 Статус как статус :)

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

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