ステップ 4 - Paint メソッドと PointInObject メソッドを実装する
FireMonkey のプリミティブ コントロールを作成する への移動
このステップでプリミティブ コンポーネントが完成します。以下のメンバの定義を追加します(既に作成したメンバはここに示していません)。
type
TRegularPolygon = class(TShape)
protected
procedure Paint; override;
public
function PointInObject(X, Y: Single): Boolean; override;
end;
以前のステップと同様に、Ctrl+Shift+C
を使ってメソッドのプレースホルダを作成します。メソッドを次のように実装します。
procedure TRegularPolygon.Paint;
begin
CreatePath;
Canvas.FillPath(FPath, AbsoluteOpacity);
Canvas.DrawPath(FPath, AbsoluteOpacity);
end;
function TRegularPolygon.PointInObject(X, Y: Single): Boolean;
begin
CreatePath;
Result := Canvas.PtInPath(AbsoluteToLocal(PointF(X, Y)), FPath);
end;
これで TRegularPolygon コンポーネントの実装が終わりました。[プロジェクト マネージャ]で TRegularPolygon.bpl パッケージを右クリックし、コンテキスト メニューから[ビルド]を選択します。その後、[インストール]を選択して、開発したコンポーネント パッケージをインストールし、設計したコンポーネントを登録します。
これで、TRegularPolygon コンポーネントの新しい動作をフォーム デザイナで確認できます。