Показать сообщение отдельно
  #18  
Старый 22.05.2015, 12:44
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Так
Код:
procedure TForm1.OutText(Canvas : TCanvas; S: string; xoffset, yoffset: Integer);
var
  T: string;
begin
  // InValidateRect(Bmp.Canvas.handle,NIL,True);
  with Canvas do
  begin
    // oldbkmode := SetBkMode(Handle, Transparent);
    if Copy(S, 1, 1) = '#' then
    begin
      T := Copy(S, 2, Length(S));
      Font.Color := $000576DC; // делаем цвет оранжевым
      // SetBkMode(Handle, TRANSPARENT);
      TextOut((ClientWidth - maxlen { TextExtent(S).cx } ) div 2 - 10 - xoffset,
        yoffset { + fontsize } { TextExtent(S).cy } , T);
    end
    else
    begin
      Font.Color := clWhite;
      // SetBkMode(Handle, TRANSPARENT);
      TextOut((ClientWidth - maxlen { TextExtent(S).cx } ) div 2 - xoffset,
        yoffset { + fontsize } { TextExtent(S).cy } , S);
    end;
    // SetBkMode(Handle, oldbkmode);
  end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
  offset: Integer;
begin
  y := y - 1;
  if y = -maxh then
    y := Height;
  { else if y = 10 then
    Sleep(1000); }
  offset := y;
  //
  bmBkGnd.Canvas.Draw(0, 0, bmTemp);
  Canvas.Draw(0, 0, bmBkGnd); // вырисовываем на форме объект Bitmap }
  OutText(Canvas, 'Привет', 0, offset);
  Inc(offset, interval);
end;
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием