Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > картинка на форме


Автор: vacsan 6.12.2009, 20:13
Картинка выведена на форму.На картинке несколько объектов.
Пытаюсь показать нужный объект стрелкой.Так вот стрелка рисуется , а картинка исчезает.
Подскажите кто знает, как правильно.Вот код:
Код

var
  Form1: TForm1;
   data:TStringList;
implementation

{$R *.dfm}

  Function Upstring(s:string):string;
const
 s1=('qwertyuiopasdfghjklzxcvbnm  йцукенгшщзхъфывапролджэячсмитьбюё');
 s2=('QWERTYUIOPASDFGHJKLZXCVBNM  ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮЁ');
var
 i:integer;
begin
 upstring:=s;
 if length(s)=0 then exit;
 for i:= 1 to length(s) do
  if pos(s[i],s1)>0 then
   s[i]:=s2[pos(s[i],s1)];
 upstring:=s;
end;

procedure TForm1.Arrow(x, y: integer);
begin
 image1.Picture.Bitmap.Canvas.Brush.Color:=clwhite;
 image1.Picture.Bitmap.Canvas.FillRect(image1.Picture.Bitmap.Canvas.ClipRect);

 image1.Picture.Bitmap.Canvas.Pen.Color:=clred;
 image1.Picture.Bitmap.Canvas.Pen.Width:=8;

 image1.Picture.Bitmap.Canvas.MoveTo(x-100,y-100);
 image1.Picture.Bitmap.Canvas.LineTo(x,y);

 image1.Picture.Bitmap.Canvas.LineTo(x-30,y);

 image1.Picture.Bitmap.Canvas.MoveTo(x,y);
 image1.Picture.Bitmap.Canvas.LineTo(x,y-30);
end;



Автор: Proxin 6.12.2009, 20:16
А зачем вам филлрект?
Код

image1.Picture.Bitmap.Canvas.FillRect(image1.Picture.Bitmap.Canvas.ClipRect);

Его не нужно.

Автор: vacsan 6.12.2009, 21:36
Proxin ,большое Вам спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)