Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.04 c
14-1131793760
uw
2005-11-12 14:09
2005.12.04
Ван Гог


3-1129627040
torch
2005-10-18 13:17
2005.12.04
Есть ли в Delphi какие-нибудь средства для рабты с иерархическими


2-1131997633
Дева
2005-11-14 22:47
2005.12.04
обработчик исключительной ситуации


1-1131191838
ArtemESC
2005-11-05 14:57
2005.12.04
Как получить точку экрана?


2-1132229598
Антоныч
2005-11-17 15:13
2005.12.04
Мистика при получении результата из dll