4D Write v16

WR GET CURSOR POSITION

ホーム

 
4D Write v16
WR GET CURSOR POSITION

WR GET CURSOR POSITION 


 

WR GET CURSOR POSITION ( area ; page ; column ; line ; position ) 
引数   説明
area  倍長整数 in 4D Writeエリア
page  倍長整数 in 選択部分の属するページ番号
column  倍長整数 in 選択部分の段組数
line  倍長整数 in 段組内の行番号
position  倍長整数 in 対象となる段組内の選択位置

説明   

WR GET CURSOR POSITIONは、 areaで指定された4D Writeエリア内の選択された部分の位置を返します。

  • page: 返されるページは、ドキュメントの最初のページ番号から最後のページ番号まで間の番号です。これらのページ番号は、設定されていればカスタムページ番号が考慮されます。 
  • column: この値は1から全段組数までの間の数値です。 
  • line: この値は1から段組内の全行数までの間の数値です。 
  • position: この値は1から行内の全文字数までの間の数値です。

選択された中にいくつかの文字が含まれている場合、最初の文字の位置が返されます。
WR SET CURSOR POSITIONでこの値を引数として指定すれば、後でこの位置に戻ることができます。
WR Get frameを使えば、どのエリアにカーソルがあるのかを確認することができます。

例題  

テキスト中のカーソルの現在位置を変えることなく、ドキュメントのヘッダにロゴを挿入したい場合は、挿入ボタンに下記のメソッドを埋め込みます:

 C_LONGINT($frame;$Col;$Line;$Pos)
 C_REAL($PictWidth;$PictHeight;$OrigWidth;$OrigHeight;$HeadTopMargin)
  `ドキュメントのどのフレームにカーソルがあるか?
 $frame:=WR Get frame(Area)
  `現在のカーソルの位置を取得する
 WR GET CURSOR POSITION(Area;$Page;$Col;$Line;$Pos)
  `カレントエリアをドキュメントのヘッダに切り替える
 WR SET FRAME(Area;wr right header)
  `挿入したいロゴを含むレコードをロードする
 ALL RECORDS([Interface])
  `ロゴを挿入
 WR INSERT PICTURE(Area;[Interface]Logo;0)
  `ロゴを選択し、サイズを取得する
 WR SELECT(Area;4;1)
 WR GET PICTURE SIZE(Area;$PictWidth;$PictHeight;$OrigWidth;$OrigHeight)
  `ヘッダの高さはピクチャに合わせる
 $HeadTopMargin:=WR Get doc property(Area;wr header top margin)
 WR SET DOC PROPERTY(Area;wr text top margin;$HeadTopMargin+$PictHeight)
 WR SET DOC PROPERTY(Area;wr header bottom margin;$PictHeight)
  `カーソルがあったフレームに戻る
 WR SET FRAME(Area;$frame)
  `元々の位置にカーソルを配置する
 WR SET CURSOR POSITION(Area;$Page;$Col;$Line;$Pos)



参照 

WR GET CURSOR COORDINATES
WR Get frame
WR SET CURSOR POSITION

 
プロパティ 

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

 
履歴 

初出: 4D Write 6.5

 
ARTICLE USAGE

4D Write ( 4D Write v16)