4D Write v16

WR GET CURSOR COORDINATES

ホーム

 
4D Write v16
WR GET CURSOR COORDINATES

WR GET CURSOR COORDINATES 


 

WR GET CURSOR COORDINATES ( area ; posHoriz ; posVert ; height ) 
引数   説明
area  倍長整数 in 4D Writeエリア
posHoriz  実数 in ページ中の横位置
posVert  実数 in ページ中の縦位置
height  実数 in カーソルの高さ

説明   

WR GET CURSOR COORDINATESはカーソルの座標を、ページ左上からの相対位置で返します。これらの値はドキュメントのカレントのデフォルト単位で表されます。

エリア中でテキストやピクチャが選択されているときにコマンドが実行されると、2つのケースが発生し得ます:

  • 選択がプログラムを使用して行われている場合、カーソルは選択の最後に設定されているものとして扱われます。
  • 選択が手作業で行われている場合、カーソルはマウスボタンが放された場所に設定されているものとして扱われます。例えば段落が最後の行から最初の行までマウスのドラッグによって選択された場合、カーソルの位置は段落の先頭に設定されます。

height引数にはカーソルの現在の高さが返されます。ピクチャのみが選択されている場合、ピクチャの高さが返されます。

例題  

Print formコマンドを使用して4D Writeエリアを印刷できます。原則として、これらのエリアは固定サイズで印刷されます。この例題では4DのプリントコマンドとWR GET CURSOR COORDINATESコマンドを使用して、内容に応じた高さの4D Writeエリアを印刷する方法を示します。

  • Print formコマンドから呼び出されるフォームメソッドは以下の通り:
 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
  • 以下はsizecalculメソッドです :
 $area:=WR New offscreen area
 WR BLOB TO AREA($area;[Table 1]Write_)
 WR SET DOC PROPERTY($area;wr unit;2) &NBSP` ピクセルを単位とする
 
 WR SET SELECTION($area;1;1) &NBSP` テキストの開始
 WR GET CURSOR COORDINATES($area;$hor;$startvert;$cursor1)
 WR SET SELECTION($area;1000000;1000000) &NBSP` テキストの終わり
 WR GET CURSOR COORDINATES($area;$hor;$vert;$cursor2)
 
 WR DELETE OFFSCREEN AREA($area)
 $0:=Trunc(($vert-$startvert+$cursor1+$cursor2)*0.75;0)



参照 

WR GET CURSOR POSITION

 
プロパティ 

プロダクト: 4D Write
テーマ: WRエリアオプション
番号: 89438

 
履歴 

変更: 4D Write 2004.5

 
ARTICLE USAGE

4D Write ( 4D Write v16)