- - PR -
ListViewで折り返し表示は可能でしょうか?
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-12-13 02:05
出来ると思いますよ。 カスタムドローでサブアイテムの矩形が通知されますから、そこに Graphics.DrawString() すれば(必要なら)折り返されます。 | ||||||||
|
投稿日時: 2005-12-13 02:26
それは確かに取れますけど、折り返された文字はどこへ書かれますか? あまり意味がないように思えるんですけど。 | ||||||||
|
投稿日時: 2005-12-13 02:36
フォントを小さくして、範囲内に入れるってのはよい方法かも。 | ||||||||
|
投稿日時: 2005-12-13 08:52
やはり、最初に予想していた結論になっちゃうんですかね。
もともと高さを変えるとアクセシブルじゃなくなってしまう (もはや、別コントロール) ので、 省略での対応が望ましいと思うんですけどね。(つまりノーマルが 1 番親切) それこそ、Grid 系のコントロールを使った方が早いと思いますし。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-12-13 12:25
次の行に書かれると思いますけど? 行の高さは、各行個別にはできませんが、1列目のイメージの高さ(イメージが不要な時は透明な横幅1ピクセルのイメージを与えます)で調整可能です。 | ||||||||
|
投稿日時: 2005-12-13 22:57
つまり、カスタムドローでも無理だという結論ですよね。。。
なんと回りくどい。 元質問者様が気の毒に思えます。 | ||||||||
|
投稿日時: 2005-12-13 23:33
どして? 各行の高さを個別に変えられないのがイヤってことですか? 最初の方を良く見てないんですが、そういう制約が指定されてるんでしたっけ? すべての行があらかじめ2行分の高さをもったリストってのも見かけないでもないんで、「あり」だと思ったんですが。 _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# [ メッセージ編集済み 編集者: 渋木宏明(ひどり) 編集日時 2005-12-13 23:34 ] | ||||||||
|
投稿日時: 2005-12-14 00:37
あ、そうですね。高さの部分が焦点になっているような錯覚をしていました。 失礼しました。 それと、確かMeasure系のメッセージもありませんでしたっけ? もしかしてそういう門外不出の荒業があったりするのかななどと考えたりしていました。 私事でなんですが、DataGridでリフレクションとかも駆使していろいろやってみた経験上、 そもそも最低Protectedなメソッドなりが準備されていないと基本的に運次第でしかないように思えます。 たぶん何をやっても無理だろう(たとえ特定のバージョンでうまくいったとしても別な環境では動かないことを前提にしないといけない)なと個人的には思っています。 ずいぶん脱線しましたが、結論として、高さ固定ならば NM_CUSTOMDRAW を拾って描画すれば、【多分】できるだろう?ということでよろしいでしょうか? どなたか実際にやってみた方はいらっしゃらないものでしょうか? それと、高さ可変はたぶん無理だろうということでよろしいでしょうか? 個人的にはお勧めできないなと思っています。 勉強目的であればとてもよい材料だろうなとも思ったりします。 よこからしゃしゃりでてしまって申し訳ありませんでした。 |