お世話様です。(VS2005、VB.NET)
件名のとおりなのですが、Listviewにて縦スクロールバーが表示されているか
どうか状態を取得する方法はないでしょうか?
標準ではできないかな?
APIを使う方法であれば、LVM_GETCOUNTPERPAGEで完全に表示可能な行数を求めてItems.Count - TopItem.Index > 行数 ならスクロールバーが表示されているとか。
ちなみにスクロールバーを除いた横幅ならClientRectangleで求めることができます。そういうことではない?
Items.Count - TopItem.Index > 行数 ならスクロールバーが表示されているとか。
TopItem.Index が 0 以外なら必ずスクロールバーが表示されてると思います(w;
View が Details ならこれで良いでしょうけど、それ以外なら Win32API の GetScrollInfo 関数あたりを使う必要があるかも。
まどかさん、Hongliangさん有難う御座います。
やりたかったのは、 スクロールバーを除いた横幅だったのです。
ですので、ClientRectangleで解決できました。有難う御座いました。
ひぃ、VB6のときのコードをそのまんま移してそのまんまになってましたぁこれ書くときにTopItemを意識したのにそこへ頭がまわりませんでした。