- PR -

ListViewで折り返し表示は可能でしょうか?

投稿者投稿内容
ジブ
大ベテラン
会議室デビュー日: 2005/09/22
投稿数: 135
投稿日時: 2005-12-14 01:18
大事なことを忘れていました。

皆さんは、文字列を折り返して表示したい場合、具体的にどうしますか?

元質問者様(というよりユーザーの要望でしょうか?)のニーズに答えるとしたら。。。

ToolTipで確認してもらいますでしょうか?
市販のよいコントロールがありますか?

便乗質問で申し訳ありません。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-12-14 01:35
引用:

ジブさんの書き込み (2005-12-14 01:18) より:

皆さんは、文字列を折り返して表示したい場合、具体的にどうしますか?


折り返すことを目的とするならば、Spread や FlexGrid などを使いますね。

引用:

ToolTipで確認してもらいますでしょうか?


これは「折り返し」ではなく省略を選択した場合の話ですよね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ジブ
大ベテラン
会議室デビュー日: 2005/09/22
投稿数: 135
投稿日時: 2005-12-14 01:41
引用:

折り返すことを目的とするならば、Spread や FlexGrid などを使いますね。



やはり、このあたりが第一選択肢なのでしょうね。
高さも制御できましたよね??
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-12-14 01:43
引用:

ジブさんの書き込み (2005-12-14 01:41) より:

やはり、このあたりが第一選択肢なのでしょうね。
高さも制御できましたよね??


できなければ選択しませんよ。(^^;)
できないくらいなら省略した方がいいと思ってる人です > わたし

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ジブ
大ベテラン
会議室デビュー日: 2005/09/22
投稿数: 135
投稿日時: 2005-12-14 01:45
引用:

じゃんぬねっとさんの書き込み (2005-12-14 01:43) より:

引用:

高さも制御できましたよね??


できなければ選択しませんよ。(^^
できないくらいなら省略した方がいいと思ってる人です > わたし



了解です。ありがとうございました。

[ メッセージ編集済み 編集者: ジブ 編集日時 2005-12-14 01:46 ]
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2005-12-14 08:52
引用:

それと、確かMeasure系のメッセージもありませんでしたっけ?



1行目の分しか尋ねてこなかったような>リストビュー
各行尋ねてくるのはリストコントロールです。

リストビューには「仮想リストビュー」というフィーチャーがあるので、各行の高さがまちまちだと縦スクロールバーの扱いに困るはず。

引用:

ずいぶん脱線しましたが、結論として、高さ固定ならば
NM_CUSTOMDRAW を拾って描画すれば、【多分】できるだろう?ということでよろしいでしょうか?



です。

それで駄目だと、Grid 系でも結構辛いと思います。
表示だけならむしろ、全部自作してしまった方が早いかもしれません。

引用:

それと、高さ可変はたぶん無理だろうということでよろしいでしょうか?



リストビューを基底とする限り、まず無理です。
自作するならリストコントロールを元にするのが楽??

_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2005-12-14 09:02
引用:

皆さんは、文字列を折り返して表示したい場合、具体的にどうしますか?

元質問者様(というよりユーザーの要望でしょうか?)のニーズに答えるとしたら。。。

ToolTipで確認してもらいますでしょうか?



場合によりけりですね。
「1セルに表示しきれない」にもいろんな程度があるわけなので。

「せいぜい数文字、十数文字が収まらない」なら、ToolTip 程度で十分と思います。
列幅を調整することで全文が読み取れるんでしょうし。

「折り返せば表示しきれる」なら、「折り返し」が有力候補に見えます。

が、これと「ちょっとやそっとでは表示しきれない」時については、表形式以外に「選択行の情報」をまとめて表示する領域を別に設けた方が良い気がします。

_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/
ジブ
大ベテラン
会議室デビュー日: 2005/09/22
投稿数: 135
投稿日時: 2005-12-14 20:03
引用:

渋木宏明(ひどり)さんの書き込み (2005-12-14 08:52) より:
引用:

それと、確かMeasure系のメッセージもありませんでしたっけ?


1行目の分しか尋ねてこなかったような>リストビュー



そうかもしれません。DbGridもそうでした。

引用:

各行尋ねてくるのはリストコントロールです。



とりあえず.Net frameworkではListBoxから派生させるのが
一番現実的なのかもしれませんね。

引用:

リストビューには「仮想リストビュー」というフィーチャーがあるので、各行の高さがまちまちだと縦スクロールバーの扱いに困るはず。



DbGridで無理やり各行高を変えてやったら、スクロールバーが同期しませんでした。

引用:

表示だけならむしろ、全部自作してしまった方が早いかもしれません。



結構骨がおれそうですね。

引用:

リストビューを基底とする限り、まず無理です。
自作するならリストコントロールを元にするのが楽??



私も、そんな気がします。

いろいろ、失礼してしまいました。ありがとうございました。

ところで、元質問者様は見ていらっしゃらないのでしょうか?
私がしゃしゃり出たばっかりに、発言しにくくなっちゃったのかな。
ごめんなさい。

スキルアップ/キャリアアップ(JOB@IT)