Object get coordinates:テキストエリアでスクロールバーを考慮しない

Product :4D - 4D Server
4D : v15.3nb207568
OS : Windows10,windows7

OBJECT GET COORDINATESでスクロールバー付きのテキストエリアオブジェクトを取得したところ、
縦/横スクロールバーの分を除外したサイズが取得されます。
スクロールバーも含めたサイズが取得できるのがただしいと思います。

リストボックスや階層リストなどは、スクロールバーも含めたサイズとなります。
このオブジェクトだけです。

ACI0096550で登録しました。

確かに,
階層リスト・リストボックス・ピクチャ・サブフォームなどとは違い,
テキストのスクロールバーは,
計算上およびフォームエディター上,
オブジェクトの外部にあるという特殊な扱いなのですが,
過去のバージョンに一貫してみられる動作であり,
おそらく歴史的な背景があるのだと思います。

これをバグとした場合,
つまり,テキストのスクロールバーもオブジェクトの内部にある,という仕様に変更した場合,
既存のアプリケーションに多大な影響が出ることが予想されるのではないでしょうか。

そのことを考えると,
バグよりは,
将来のバージョンに向けたリクエスト,
と考えたほうが実際的かもしれません。

たとえば,

OBJECT GET COORDINATES(;*)
テキストの場合,スクロールバーのサイズを加算する

または

OBJECT Get external scroll bar height
OBJECT Get external scroll bar width
テキスト以外は常に0

いかがでしょうか。

登録ありがとうございます。

: Keisuke MIYAKO

そのことを考えると,
バグよりは,
将来のバージョンに向けたリクエスト,
と考えたほうが実際的かもしれません。

たとえば,

OBJECT GET COORDINATES(;*)
テキストの場合,スクロールバーのサイズを加算する

または

OBJECT Get external scroll bar height
OBJECT Get external scroll bar width
テキスト以外は常に0

いかがでしょうか。

歴史的とおしゃっているのは、以前ご指摘したフォームエエディタ上でのテキストエリアのハンドリングについてだたと思われます。
選択時のハンドルの位置とか、マグネティックグリッド時の動作など。

OBJECT GET COORDINATES的には、スクロールバーを排除したサイズを取得してなにかする用途が思いつきません。
他のオブジェクト(リストボックスなど)との統一性を考えるとこのコマンド的にはスクロールバーを含めたサイズを返すのがディフォルトの動作ではないかと考えます。
オプションとして、スクロールバーのサイズを取得するコマンドがあるのは賛成です。

参考までに

テキスト入力エリアではなく,リストボックスの話になりますが,
16R2のhttp://doc.4d.com/4Dv16R2/4D/16-R2.1620/LISTBOX-Get-property.301-3111963.ja.htmlLISTBOX Get property>に_lk hor scrollbar height_,_lk ver scrollbar width_というオプションがあって,スクロールバーのサイズが取得できるようになりました。