Текущий архив: 2005.12.04;
Скачать: CL | DM;
Вниз
Проблема с Image Найти похожие ветки
← →
Goast (2005-11-09 14:28) [0]Здравствуйте мастера!!!
Итак.. попробую объяснить…:) Есть форма….на форме компонент image растянутый на всю форму. Соответственно в image загружена цветастая картинка...:) Так же на форме расположено куча labеl!!!!картинку делаю прозрачной...image1.Transparent:=false и как бы все становится красиво…но вот и сама проблема то….у меня эти label каждый 10 секунд обновляются. (меняют значения) и из за этого в момент изменения label картинка «мерцает» Как сделать так что бы она не мерцала…и вообще возможно ли это???? Спасибо!
← →
Amoeba © (2005-11-09 14:34) [1]DoubleBuffered у формы установи в True в ее OnCreate.
← →
Goast (2005-11-09 14:48) [2]
> Amoeba © (09.11.05 14:34) [1]
> DoubleBuffered у формы установи в True в ее OnCreate.
пробовал не все равно мыргает....:(
← →
Leonid Troyanovsky © (2005-11-09 16:19) [3]
> Goast (09.11.05 14:28)
> Здравствуйте мастера!!!
> Итак.. попробую объяснить…:) Есть форма….на форме компонент
> image растянутый на всю форму. Соответственно в image загружена
> цветастая картинка...:) Так же на форме расположено куча
...
> «мерцает» Как сделать так что бы она не мерцала…и вообще
> возможно ли это????
Кучу label убрать и рисовать прямо на форме (OnPaint).
Вот, например, как можно менять текст по таймеру
type
TForm1 = class(TForm)
Image1: TImage;
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormPaint(Sender: TObject);
private
{ Private declarations }
FText: String;
FDisplay: TBitmap;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.Hide;
Brush.Style := bsClear;
FDisplay := TBitmap.Create;
FDisplay.Width := Image1.ClientWidth;
FDisplay.Height:= Image1.ClientHeight;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
r: TRect;
begin
FText := IntToStr(GetTickCount)+ #13#10+IntToStr(GetTickCount);
r:= Image1.BoundsRect;
InvalidateRect(Handle, @r, false );
end;
procedure TForm1.FormPaint(Sender: TObject);
var
r: TRect;
begin
FDisplay.Canvas.Draw(0, 0, image1.Picture.Bitmap);
r:= Rect( Image1.Width div 2, Image1.Height div 2, Image1.width,
Image1.Height );
FDisplay.Canvas.Font := Font;
FDisplay.Canvas.Font.Color := clYellow;
SetBKMode(FDisplay.Canvas.Handle, TRANSPARENT);
DrawText(FDisplay.Canvas.Handle, PChar(FText),
Length(FText), r,
DT_LEFT or DT_NOPREFIX);
Canvas.Draw(0, 0, FDisplay);
end;
--
Regards, LVT.
Страницы: 1 вся ветка
Текущий архив: 2005.12.04;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.038 c