ツリービューコントロールのスクロールバーの表示位置を設定するには?

解決


とわ  2004-06-08 17:02:55  No: 113778  IP: [192.*.*.*]

現在、ツリービューコントロールを使用しており、
表示されるデータの件数が多い場合には縦スクロールが、
横幅がツリービューよりも大きい場合には横スクロールバーが
表示されるようになっております。

画面の初期表示時に縦のスクロールバーも横のスクロールバーも表示される場合に
両方のスクロールバーが中途半端な位置になって表示されてしまいます。
(縦のスクロールバーは一番上とくっついていない。
横のスクロールバーは一番左とくっついていない。)

縦スクロールに関してはWin32APIのWM_MOUSEWHEELを使って
一番上に設定されて表示されるようになったのですが、
(こちらの掲示板の「リストビューのスクロール部を表示するには? 」
という質問に対する回答を参考にさせてもらいました。)
横のスクロールバーを左に設定して表示するにはどうしたらよろしいでしょうか?

お手数ですがよろしくお願いします。

(VB6.0 + Win2000)

編集 削除
とわ  2004-06-09 14:52:25  No: 113779  IP: [192.*.*.*]

●報告
スクロールプロパティをはじめはFALSEにしておき、
ツリービューを作成し終わってからTRUEにすると期待通りの動作が行われました。

1.TreeView.Scroll = False

2.ツリービューの作成

3.TreeView.Scroll = True

4.スクロールバーが一番上と一番左に表示。

編集 削除
特攻隊長まるるう  2004-06-09 15:20:09  No: 113780  IP: [192.*.*.*]

よく分からなかったんで書込みしなかったけど、表示の最後に

Me.TreeView1.Nodes.Item(1).Selected = True

とかしても解決したりしますか?(汗)

編集 削除
towa  2004-06-09 16:23:17  No: 113781  IP: [192.*.*.*]

>よく分からなかったんで書込みしなかったけど

トラブル状況、分かりづらかったかもしれません(^_^)
よく言われます。説明下手って・・・

試してみましたが、はじめと状況が変わらないようです。
う〜ん、駄目みたいです・・・

編集 削除
特攻隊長まるるう  2004-06-09 16:51:05  No: 113782  IP: [192.*.*.*]

そうですかー。ウチの環境とは微妙に何か違うみたいですね。
Win2000+VB6ではあるんですが…
ウチの環境だと、Node を選択するとそこにスクロールバーが
移動するので Expanded = True する時点で微妙な位置にずれます。
…でルートノードを選択してやれば一番上と一番左に表示
されました。
ま。ご報告まで。

編集 削除
とわ  2004-06-09 17:06:23  No: 113783  IP: [192.*.*.*]

そうですね。
どこかが違うのかもしれませんね。

ありがとうございました。

(^^)/~~

編集 削除