2009-04-28 19 views
0

ListViewItemsをカスタムUserControlに手動で描画しようとしています。コントロール自体は、クラスのプライベートメンバーとして格納されているListViewのラッパーです。ListViewItemがVisibleClipBoundsを超えています

これらのアイテムの手動描画を可能にするDrawListViewItemEventHandlerが付属しており、ほとんどの場合、これが機能するようです。私が持っている問題は、ListViewItem(大きな画像モードで)のテキストが長いところです。

さまざまなテーマのListViewItemの周りに矩形を描画しています。次に、Graphics.MeasureString()を使用してテキストのサイズを測定し、手動でテキストを描画します。しかし、キャプションは私が渡されたグラフィックスコンテキストのVisibleClipBoundsの外に落ちているので、垂直描画が2.5行のテキストでトリミングされていることがわかります。

これはちょっと変わっているようですが、どうしてこのようなことが起こるのかよく分からず、問題を回避する方法を見つけられません。

+1

奇妙な動作は何ですか? –

+0

私はアダムに同意します。これは私にとっては正しいようです。あなたは何をしたいのですか? –

+0

まあ私は、ListViewItemが(少なくともこの時点で選択されていると)Textのすべてを描画することができると期待しています...基本的には、クリップ全体が完全に描画するのに十分な大きさの境界を持っています。 – Ian

答えて

0

タイル表示とタイルサイズを使用すると、テキストを描画するのに十分なスペースを確保できます。

ListViewはすべてのテキストを描画することは保証できません。テキストは膨大なものになる可能性があります。

関連する問題