Показать сообщение отдельно
  #1  
Старый 24.04.2013, 09:09
dviper dviper вне форума
Прохожий
 
Регистрация: 16.11.2012
Сообщения: 8
Репутация: 10
По умолчанию Рисование в XE3

Помогите новичку!
Пытаюсь нарисовать на большом холсте, помещенную в скроол бокс, линию, но она (линия) кудато исчезает!
Код:
unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Rtti, System.Classes, FMX.Objects,
  System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.Layouts;

type
  TForm1 = class(TForm)
    StyleBook1: TStyleBook;
    Layout1: TLayout;
    ScrollBox1: TScrollBox;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.Button1Click(Sender: TObject);
var
  p1, p2: TPointF;
  MyImage: TImage;
begin
  p1.Create(10 + ScrollBox1.Position.X, 10 + ScrollBox1.Position.Y);
  p2.Create(1200 + ScrollBox1.Position.X, 1200 + ScrollBox1.Position.Y);
  MyImage := TImage.Create(nil);
  MyImage.Parent := ScrollBox1;
  MyImage.Width := 1200;
  MyImage.Height := 1200;

  MyImage.Canvas.BeginScene;
  MyImage.Canvas.Stroke.Color := $FFFFCD32;
  MyImage.Canvas.Stroke.Thickness := 3;
  MyImage.Canvas.DrawLine(p1, p2, 100);
  MyImage.Canvas.EndScene;
end;

end.
Ответить с цитированием