Lazarus でペイント アプリケーションを作成したいのですが、Deplhi でキャンバスとして使用できる適切なコントロールがありません。それの名前は何 ?
2 に答える
Delphi にはコンポーネントはありませCanvas
んが、アプリケーションでカスタム描画に使用できるコンポーネントを探している場合は、TPaintBox
コントロールを探しています (このコンポーネントと同じ名前が Delphi でも使用されています)。Lazarus では、コンポーネント パレットで見つけることができます。
新しいバージョンの Lazarus IDE では、コンポーネント セレクターから進み、名前でコンポーネントを検索できます。CTRL+ ALT+を押すPと、次のウィンドウが表示されます。ここで、探しているコントロールの名前を入力するだけで、すぐにフィルター処理されます。コンポーネントを選択して (名前に一致するものが複数ある場合)、 を押すENTERと、コンポーネントがパレットで選択されます。
OnPaint
次に、コンポーネントのイベントのイベント ハンドラー メソッドを記述TPaintBox
し、コンポーネント上で描画を行いますCanvas
。
procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
PaintBox1.Canvas.Brush.Color := clGreen;
PaintBox1.Canvas.FillRect(PaintBox1.ClientRect);
end;
ほとんどの場合、Canvas はすでに Forms-Applications で定義されています。「canvas」と入力してからドットを入力すると、関数が表示されます。これは、Lazarus と Delphi のすべてのバージョンで機能します。
procedure TForm1.FormShow(Sender: TObject);
begin
canvas.TextOut(10,10,'Hello World');
end;