矢印を描く(3)
2点型オブジェクトを使って矢印オブジェクトを作ってみましょう。
第3章 オブジェクトにしてみる
さて、前回まででエラーがでなく動くようになれば、いよいよオブジェクト化です。オブジェクト化のキモはCONSTで宣言した部分がパラメータに置き換わることで、プログラムを書き換えなくてもデータパレットから図形がいじれるようになるところです。
それでは予め、コマンドパレットのソースをコピーしておき、ツールメニューのスクリプトのプラグインコマンド...を選択します。
プラグイン名は矢印とし、2点型オブジェクトのラジオボタンを選んで、OKボタンを押します。
まずは、矢印を選んで、コマンド編集...を選びコピーしたプログラムをペーストしておきましょう。
プログラムの変更はあとで行いますので、OKボタンでVectorScriptエディタを閉じておきます。
次に、パラメータ...を開きます。デフォルトで、LineLengthがあります。
2点型オブジェクトのアクションはなにもしなくともクリッククリックできるようになると書いてきましたが、そのときに、2点間の距離が自動的にLineLengthに入ってきます。そのためデフォルトで用意されているわけです。
ですので、初期値は変更する必要はありません。
折角ですから、フィールド名は日本語にしておきましょう。
これはのちにデータパレット上での名前となります。
次はWidthです。新規...ボタンでパラメータ名をWidthとし、フィールド名は幅とします。
型は実数ですのでNumberを選びます。
初期値は10.0としておきましょう。
つづいてはAngleです。新規...ボタンでパラメータ名をAngleとし、フィールド名は矢印の角度とします。
型は実数ですのでNumberを選びます。
初期値は90.0としておきましょう。
つづいてはHeadです。新規...ボタンでパラメータ名をHeadとし、フィールド名は矢頭の大きさとします。
型は実数ですのでNumberを選びます。
初期値は10.0としておきましょう。
最後はTypeです。新規...ボタンでパラメータ名をTypeとし、フィールド名は矢印のタイプとします。
型はポップアップメニューから選択するタイプにしたいのでPop-upを選びます。
Pop-upを選んだ瞬間に内容を求められますので、
始点に矢印
終点に矢印
両端に矢印
とします。
初期値は始点に矢印としておきましょう。
パラメータの登録は以上です。OKボタンを押してプログラムの修正をしましょう。
パラメータの登録は以上です。OKボタンを押してプログラムの修正をしましょう。
修正はいたって簡単。すでにパラメータを意識してプログラムを書いてきているので、
コマンド編集...を開いてCONSTのパラメータ宣言している部分をコメントにするだけです。
PROCEDURE DrawArrow; CONST { PLineLength = 100.0;} { PWidth = 10.0;} { PAngle = 90.0;} { PHead = 10.0;} { PType = '始点に矢印';} kSTART = '始点に矢印'; kEND = '終点に矢印'; VAR
念のためコンパイルボタンを押してみましょう。「コンパイルに成功しました。」となるはずです。
VectorScriptエディタをOKボタンで閉めて、カテゴリー...をMyToolとして、プラグイン作成は終了です。
プラグインコマンド編集を閉じてください。
あとは、作業画面に登録して実行してみましょう。
登録はツールメニューの作業画面の設計...です。
ツールタブを開いて、右側の作成:新規ツールセットを左側のパレット:ツールセットの先頭にドラッグします。
右側のツール:MyToolから「矢印」を左側のパレット:新規ツールセットの中にドラッグします。
OKボタンで作業画面編集の終了です。
いよいよ実行です。
ツールを選択して直線ツールで線を描くようにクリッククリックしてみてください。
オブジェクトは書類上で初めて使うときにパラメータの設定ダイアログがでます。
初期値がされていますのでOKを押して続けます。角度を気にせず矢印を描くことができます。
さらに、オブジェクトですので描いたあともデータパレットから編集が可能です。
多角形図形なので、面に色も付きますし枠の線種を設定することも可能です。
別項に公開されている「黄金四角形オブジェクト」「黄金文字オブジェクト」も2点型オブジェクトです。手習い帖が始まる前に作った解説ではありますが、合わせて読んでいただければ理解がさらに深まると思います。
![]() 「黄金四角形オブジェクト」のVS手習い帖を読む |
![]() 「黄金文字オブジェクト」のVS手習い帖を読む |