| 4D v13WR GET CURSOR COORDINATES | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D Write v13
 WR GET CURSOR COORDINATES 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| WR GET CURSOR COORDINATES ( area ; posHoriz ; posVert ; height ) | ||||||||
| 引数 | 型 | 説明 | ||||||
| area | 倍長整数 |   | 4D Writeエリア | |||||
| posHoriz | 実数 |   | ページ中の横位置 | |||||
| posVert | 実数 |   | ページ中の縦位置 | |||||
| height | 実数 |   | カーソルの高さ | |||||
WR GET CURSOR COORDINATESはカーソルの座標を、ページ左上からの相対位置で返します。これらの値はドキュメントのカレントのデフォルト単位で表されます。
エリア中でテキストやピクチャが選択されているときにコマンドが実行されると、2つのケースが発生し得ます:
height引数にはカーソルの現在の高さが返されます。ピクチャのみが選択されている場合、ピクチャの高さが返されます。
Print formコマンドを使用して4D Writeエリアを印刷できます。原則として、これらのエリアは固定サイズで印刷されます。この例題では4DのプリントコマンドとWR GET CURSOR COORDINATESコマンドを使用して、内容に応じた高さの4D Writeエリアを印刷する方法を示します。
 If(Form event=On Printing Detail)
    GET OBJECT RECT(4DWriteArea;$left;$top;$right;$bottom)
    $markerpos:=Get print marker(Form Detail)
    $areaheight:=$bottom-$top  ` 4D Writeエリアの高さ
    $newheight:=sizecalcul
  ` sizecalcul メソッドはその内容に基づき4D Writeエリアの高さを返す
  ` このメソッドは後述
    $shift:=$newheight-$areaheight
    MOVE OBJECT(4DWriteArea;0;0;0;$shift) ` 4D Writeエリアをリサイズ
    SET PRINT MARKER(Form Detail;$markerpos+$shift) ` マーカーを移動
 End if $area:=WR New offscreen area
 WR BLOB TO AREA($area;[Table 1]Write_)
 WR SET DOC PROPERTY($area;wr unit;2)   ` ピクセルを単位とする
 
 WR SET SELECTION($area;1;1)   ` テキストの開始
 WR GET CURSOR COORDINATES($area;$hor;$startvert;$cursor1)
 WR SET SELECTION($area;1000000;1000000)   ` テキストの終わり
 WR GET CURSOR COORDINATES($area;$hor;$vert;$cursor2)
 
 WR DELETE OFFSCREEN AREA($area)
 $0:=Trunc(($vert-$startvert+$cursor1+$cursor2)*0.75;0)
	プロダクト: 4D
	テーマ: WRエリアオプション
	番号: 
        89438
        
        
        
	
	変更: 4D Write 2004.5