ST GET ATTRIBUTES
ST GET ATTRIBUTES ( {* ;} object ; startSel ; endSel ; attribName ; attribValue {; attribName2 ; attribValue2 ; ... ; attribNameN ; attribValueN} )
引数 | 型 | 説明 | |
---|---|---|---|
* | 演算子 | → | 指定時: objectはオブジェクト名 (文字) 省略時: objectは変数またはフィールド |
object | any | → | オブジェクト名 (* 指定時) または テキストフィールドまたは変数 (* 省略時) |
startSel | Integer | → | テキスト選択の開始位置 |
endSel | Integer | → | テキスト選択の終了位置 |
attribName | Integer | → | 取得する属性 |
attribValue | Variable | ← | 属性の現在の値 |
このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。
説明
ST GET ATTRIBUTES コマンドは、objectで指定したフォームオブジェクト中で選択されたテキストのスタイル属性を取得するために使用します。
オプションの * 引数を渡した場合、object引数にはオブジェクト名 (文字列) を渡します。コマンド実行時にオブジェクトにフォーカスがある場合、コマンドは編集中のオブジェクトに関する情報を返します。他方オブジェクトにフォーカスがない場合、コマンドはオブジェクトのデータソース (フィールドや変数) に関する情報を返します。
* 引数を省略した場合、object 引数にはフィールドや変数を指定します。この場合文字列ではなくフィールドまたは変数への参照を渡します。コマンドはこのフィールドや変数に関する情報を返します。
startSelとendSel引数を使用して、オブジェクト中でスタイル属性を取得するテキストを選択します。 startSelには選択する最初の文字位置を、endSelには選択する文字の最後の位置に1加えた値を渡します。endSelに0をセットすることで、自動的にテキストの最後を指定(startSelに1をセットすることでテキストの最初を指定)できます。startSelとendSelの値が等しい場合や、startSelがendSelよりも大きい場合(endSelが0の場合を除く・上記参照)、エラーが返されます。
startSelとendSel、エリア中に既に存在するスタイルタグを考慮に入れません。文字数のカウントは (テキストからスタイルタグを取り除いた) 生テキストを基に行います。
4D では選択範囲を自動的に指定するために startSel 引数と endSel 引数に渡せる規定済み定数を用意しています。これらの定数は "Multistyle Text" テーマ内にあります:
定数 | 型 | 値 | コメント |
---|---|---|---|
ST End highlight | 倍長整数 | -1001 | オブジェクト内のカレントのテキストセレクションの最後の文字を指定します(*) |
ST End text | 倍長整数 | 0 | オブジェクトに含まれるテキストの最後の文字を指定します。 |
ST Start highlight | 倍長整数 | -1000 | オブジェクト内のテキストのカレントセレクションの最初の文字をを指定します (*) |
ST Start text | 倍長整数 | 1 | オブジェクト内に含まれるテキストの最初の文字を指定します。 |
(*) これらの定数を使用するためには、 object にオブジェクト名を渡す必要があります。フィールドまたは変数への参照を渡した場合、コマンドはオブジェクトの全てのテキストに対して適用されます。
attribName 引数に取得する属性の名前を、attribValue引数には属性値を受け取る変数を渡します。attribName 引数を指定するにはMultistyle Text Attributesテーマの定数の一つを使用しなければなりません。
定数 | 型 | 値 | コメント |
---|---|---|---|
Attribute background color | 倍長整数 | 8 | attValue = (Windowsのみ) 16進値またはHTMLカラー名 |
Attribute bold style | 倍長整数 | 1 | attValue = 0: 選択部からボールド属性を取り除きます attValue = 1: 選択部にボールド属性を適用します |
Attribute font name | 倍長整数 | 5 | attValue = フォントファミリー名 (文字) |
Attribute italic style | 倍長整数 | 2 | attValue = 0: 選択部からイタリック属性を取り除きます attValue = 1: 選択部にイタリック属性を適用します |
Attribute strikethrough style | 倍長整数 | 3 | attValue = 0: 選択部から取り消し線属性を取り除きます attValue = 1: 選択部に取り消し線属性を適用します |
Attribute text color | 倍長整数 | 7 | attValue = 16進値またはHTMLカラー名 |
Attribute text size | 倍長整数 | 6 | attValue = ポイント数 (数値) |
Attribute underline style |