Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2009, 09:43   #1
blackstersl
Форумчанин
 
Аватар для blackstersl
 
Регистрация: 23.08.2008
Сообщений: 374
Вопрос Бегущая строка(фон)

Привет всем. Как на канве бегущей строки сделать чтоб небыло заднего плана, атолько буквы. Спасибо.
Код:
procedure TForm1.PaintBoxPaint(Sender: TObject);
begin
paintbox.Canvas.Brush.Color := clblack;
paintbox.Canvas.Font.Color := clwhite;

paintbox.Canvas.Font.Name := label1.Font.Name;
paintbox.Canvas.TextOut(-1*paintbox.tag,0,s);
end;

procedure TForm1.Timer2Timer(Sender: TObject);
var
s:string;
begin
paintbox.tag:=paintbox.tag+1;
if paintbox.tag =paintbox.canvas.textwidth(s) then
paintbox.tag := -1*paintbox.width;
paintbox.Canvas.TextOut(-1*paintbox.tag,0,s);
s:=label1.Caption;
end;
blackstersl вне форума Ответить с цитированием
Старый 23.06.2009, 10:09   #2
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Код:
paintbox.canvas.Brush.Style := bsClear;
Altera вне форума Ответить с цитированием
Старый 23.06.2009, 10:15   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

мне кажется что нужно использовать св-ва TransparentColor и TransparentColorValue у родителя пейнтбокса...

Altera, опоздал
да и вы более лучшее предложили
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.06.2009, 10:24   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

попробуй стиль установи "чистый"
paintbox.Canvas.Brush.Style:=bsClea r;
Цитата:
Altera
Шустрый малый
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.06.2009, 10:32   #5
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Посмотри http://www.programmersforum.ru/showthread.php?t=53873
Да и внизу страницы есть ссылки на аналогичные темы.
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 23.06.2009, 10:48   #6
blackstersl
Форумчанин
 
Аватар для blackstersl
 
Регистрация: 23.08.2008
Сообщений: 374
По умолчанию

ну если поставить стиль "чистый", то буквы невидно, они расплываются.
blackstersl вне форума Ответить с цитированием
Старый 23.06.2009, 10:55   #7
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Цитата:
Сообщение от blackstersl Посмотреть сообщение
ну если поставить стиль "чистый", то буквы невидно, они расплываются.
Ну а как ты хотел? На пестром не будет нормально видно.
Altera вне форума Ответить с цитированием
Старый 23.06.2009, 10:57   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Странно... Я вот так попробовал, ничего не расплывается:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    procedure FormPaint(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var x,y:integer;
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormPaint(Sender: TObject);
begin
Canvas.Brush.Style:=bsClear;
Canvas.TextOut(x,y,'ÝÒÎ ÒÅÊÑÒ');
if x>Width then begin
 x:=0;y:=y+10;
end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 x:=x+10; repaint;
end;

end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.06.2009, 11:47   #9
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Во вложении программка реализующая бегущую строку на канве формы с фоном.

Изменяя приращения координат вывода текста, можно придать любое направление движения.
Вложения
Тип файла: rar БегСтрска.rar (249.2 Кб, 29 просмотров)
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 23.06.2009, 12:13   #10
blackstersl
Форумчанин
 
Аватар для blackstersl
 
Регистрация: 23.08.2008
Сообщений: 374
По умолчанию

Stilet работает нормально, но мегает иногда.
blackstersl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Бегущая строка, не затирающая фон polyarnik Помощь студентам 16 11.09.2009 14:46
бегущая строка djes Паскаль, Turbo Pascal, PascalABC.NET 6 22.04.2009 21:11
Бегущая строка vitamin.rulez Помощь студентам 8 28.01.2009 21:48
Бегущая строка и about Патрон Общие вопросы Delphi 12 02.06.2008 22:31