ここまでで、あなたはこのコマンドに慣れたことでしょう。 WP Get position コマンドには慣れているはずです。少なくとも、このブログ記事で読んだことがあると思います。v17で導入されたこのコマンドは、ドキュメント内の要素の位置に関する情報を取得するのに役立ちます。
4D v17 R4 スパイスアップ …座標も返せるようになった!
新しい属性
この WP Get positionコマンドは、boundsと rangeHeightという2つの新しい属性を返します。
bounds 属性は、範囲を囲む矩形を、そのタイプに応じて記述するオブジェクトです。渡される範囲のタイプは、下図のように、「デフォルトタイプ」(文字)、「パラグラフタイプ」、「テーブルタイプ」、「 ピクチャタイプ」のいずれかです。
bounds 属性には、left、top、 right 、bottomという 属性がある。これらは数値で、現在のレイアウト単位(mm, cm, in, pt, px)で表されます。
例
この機能を使うと、複雑なページデザインを簡単に設定することができます。例えば、テンプレートを使用する場合、現在のページの最後にある空きスペースに応じて挿入するブロックの大きさを比較する必要があります。もしスペースが十分でない場合(例えば「5cm」)、先に改ページを挿入することになるかもしれません。シンプルで簡単です。以下は、その方法です。
$range:=WP Get selection(WParea)
WP SET ATTRIBUTES (WParea;wk layout unit;wk unit cm)// change the unit to "cm"
$position :=WP Get position
($range ;
wk 4D Write Pro layout) // call the WP Get position function
$heightInCm:=$position.rangeHeight // read the height in "cm"
If ($heightInCm<5)
// insert a break…
End if
以下は、返されたオブジェクトの詳細な内容です。
{ "section": 1, "page": 1, "column": 1, "line": 11, "position": 49, "bounds": // New! { "left": 1.52, "top": 10.65, "right": 18.66, "bottom": 12.56, } rangeHeight: 1.9 // New! }
このデモデータベースで、実際にこの機能が使われている様子をご覧ください。