DOBON.NET DOBON.NETプログラミング掲示板過去ログ

リストボックスでの部分的な色指定につきまして

環境/言語:[VisualBasic.NET]
分類:[.NET]

os:Windows 2000
環境:VisualBasic.NET 2003

こんにちは。
ある項目a・bを並べてリストボックスへ表示させる場合に、
項目aは赤色、項目bは黒色と色を指定して表示が可能なのでしょうか?

Dim strLine As String

strLine = "a" & "b"
ListBox1.Items.Add(strLine)


上記の"a"の色を赤で表示したい。



リストボックス全体色を指定するのは以下のコードで可能なのですが、
ListBox1.ForeColor = Color.Red

部分的な配色ですと、データグリッドでのセル単位の配色や、
http://dobon.net/vb/dotnet/datagrid/coloredcell.html

リッチテキストボックスでは出来るのではないかと試行中です。
http://dobon.net/vb/dotnet/control/rtbchangecolorandfont.html

良いお知恵がありましたらご教授願います。
オーナードローを使う必要があります。
■No3935に返信(Sugi@ぱぱんぶぃびぃさんの記事)
> オーナードローを使う必要があります。

ご返答ありがとうございます。
"オーナードロー"をキーワードに技術情報を調べているのですが、
実現方法に結びつきません。再描写させる事で文字列の変更(今回の場合は色)が
行えると云う事なのでしょうか?
■No3945に返信(nepiaさんの記事)
手順としては、
まず、ListBoxのDrawModeプロパティをOwnerDrawFixedにします。(今回は色のみの変更なので)
これを設定してやることで、ListBoxのDrawItemイベントが使用可能になりますので、
このイベント内に文字の描画処理を自前で記述します。
リストボックスのオーナードローに関しては、私のサイトも参考にしてみてください。

・DOBON.NET .NET Tips -リストボックスの項目を自分で描画する
http://dobon.net/vb/dotnet/control/lbownerdraw.html
■No3957に返信(管理人さんの記事)
> リストボックスのオーナードローに関しては、私のサイトも参考にしてみてください。
>
> ・DOBON.NET .NET Tips -リストボックスの項目を自分で描画する
> http://dobon.net/vb/dotnet/control/lbownerdraw.html

ご指南ありがとうございます。
早速、ページを参考に試させて頂きます。

bbsが益々賑わうようにたまには良いネタを提供したいトコロですが、
いつも教授頂く側にまわっているところが心苦しいところです。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板