リッチテキストボックスで、スクロールバーが表示されたことを知るには


マロン  2006-06-26 22:00:33  No: 132041

[開発環境:WinXP/VB6SP6]

いつもお世話になります。

質問ですが、リッチテキストボックスを使っているとき、入力した
文字列が画面に収まりきらないと、自動的にスクロールバーが表示
されますね。

このスクロールバーが表示されたことを知る方法というのはありま
すでしょうか。

APIでそのようなWindowMessageがあれば良いのですが、なければ
次のような方法をイメージしています。

  文字が入力される度に各行の幅を求めながらFormの幅と比較し、
  最長文字列行の幅がFormの幅より大きい時はスクロールバーが表示
  されたと判断する。

しかし、このようなことをするよりもっとスマートな方法があるよう
な気がするのですが、無理でしょうかね。


特攻隊長まるるう  2006-06-27 23:09:54  No: 132042

いい方法には思わないけど、処理ステップ数を抑えるという考えから

  文字が入力される度にスクロールバーが表示されるはずの位置(座標)
  の画面の色を取得して BackColor と一致しなければスクロールバーが
  表示されたと判断する。


マロン  2006-06-30 04:54:39  No: 132043

特攻隊長まるるうさん、ありがとうございます。

今背景色での判断方法を試していますが、いまいちまだ解決できず
にいます。
GetPixelを使っているんですが、またわからないことがありまし
たら質問させて下さい。


特攻隊長まるるう  2006-06-30 19:30:10  No: 132044

デスクトップのデザインで配色をハイコントラスト系(?)にすると
判定場所が難しくなったりして、良い案では無いんだけどね(^^;)

発想の転換の意味と、他に思い浮かばなかったので。。。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加