トップ回答者
OwnerDraw することなく ListBox の ItemHeight を 変更できますか?

質問
-
ListBox の Item の高さは ItemHeight で設定変更できるもんだ、と思っていたのですが、
OwnerDraw しなければならないのでしょうか?
初期値 12px ですが、余りにも Item 間が接近しすぎていて見づらいので、
24px と設定すれば、高さ 24px で表示されると思っていたのですが。
Code SnippetDrawMode プロパティが DrawMode.OwnerDrawFixed に設定されている場合は、
すべての項目の高さが同じになります。同じ高さになる、のは分かるけど、高さ変更の可不可は読み取れない。
Code SnippetDrawMode プロパティが DrawMode.OwnerDrawVariable に設定されている場合、
ItemHeight プロパティは、ListBox に追加された各項目の高さを指定します。個々に高さを変更可能であることは分かるが。
回答
すべての返信
-
ListBox のソースを見ると、以下のようにして高さを設定していました。
value というのが具体的な ItemHeight 値です。
SendMessage() 呼ぶくらいなら OwnerDraw します。
いや、ん~、それでも何とかして欲しい。面倒。
そもそも何故 ItemHeight で高さを変えちゃ駄目なんだろう?
Code SnippetSendMessage(NativeMethods.LB_SETITEMHEIGHT, 0, value);
参考
- Re: Can't get DrawItem event any more, in some special case