オーナードローで描画した複数列表示のリストボックスに見出しをつけるには?

解決


止めどない僕  2005-11-08 21:05:14  No: 127441

VB.NET 2003
win 2000

こんにちは、
下記のように、オーナードローを利用して
リストボックスに該当するデータを複数列描画しています
それに、見出しをつけたいと思っているのですが、
見当が全くつきません・・・。
どういうふうにロジックを書いたら良いでしょうか??

すみません、ご教授願えませんでしょうか?

   Private Sub l_kensaku_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles lsl_kensaku.DrawItem

        Try
            Const Margin As Integer = 5I

            Dim Item As MyListItem = DirectCast(Me.lsl_kensaku.Items(e.Index), MyListItem)
            Dim myPen As New Pen(Color.Brown)
            Dim Pos As PointF
            Dim B As Brush

            If e.State = DrawItemState.Selected Then
                B = SystemBrushes.HighlightText
            Else
                B = SystemBrushes.WindowText
            End If

            e.DrawBackground()
            With e.Graphics
                Pos = New PointF(Margin, e.Bounds.Y)

                'No
                Pos.X += 10
                .DrawString(Item.CD, e.Font, B, Pos)
                Pos.X += 50

                '"|"
                .DrawString(Item.sp, e.Font, B, Pos)
                Pos.X += 50

                '名前
                .DrawString(Item.NM, e.Font, B, Pos)
                Pos.X += 100

                '"|"
                .DrawString(Item.sp2, e.Font, B, Pos)
                Pos.X += 50

                '分類
                .DrawString(Item.chiku, e.Font, B, Pos)
                Pos.X += 70

                '右揃えにするために、描画開始位置を変更する必要があるので、
                'MeasureStringメソッドを使って文字列の「幅」測定。
                Dim ItemText As String
                .DrawString(ItemText, e.Font, B, _
                            Pos.X - .MeasureString(ItemText, e.Font).Width, Pos.Y)
            End With
        Catch
            MsgBox(Err.Number & "," & Err.Description)

↑描画設定部分のみ抜粋
↓リストボックスに追加しているロジック
Me.lsl_kensaku.Items.Add(New MyListItem(no, ssp, SNAME, ssp, Bunrui)) 'リストボックスに表示

----------------------
| 番号  | 名前  | 分類 |   ←こんな感じにしたいのですが・・。
| 11111 |ああ   | 03  |  
|       |       |     |
|       |       |      |
------------------------

よろしくお願い致します.


名無し  2005-11-08 21:55:43  No: 127442

ListViewじゃダメなんだろうか…。


止めどない僕  2005-11-08 22:37:27  No: 127443

できれば、オーナードローで行いたいのですが・・。


名無し  2005-11-08 22:40:31  No: 127444

提案終了。頑張れー。


止めどない僕  2005-11-09 00:28:57  No: 127445

頑張ってはいるのですが・・・
どなたか、ご教授賜えませんでしょうか・・・。


マルチポスト  2005-11-09 03:50:05  No: 127446

http://vbnet-iku2.hp.infoseek.co.jp/cgi-bin/treecrsdx02/index.cgi?m=look&bnum=1906


止めどない僕  2005-11-09 08:41:00  No: 127447

解決いたしました。
それでは失礼します。


とおりすがり  2005-11-09 14:42:57  No: 127448

解決しましたといって、解決方法を
掲示しないなら、コミュニティに対して何ら有益な投稿ではないですよね?
きっと今後回答者は減っていくでしょう。

少なくとも、私は前科一犯として記憶させていただきます。


名無し  2005-11-09 19:14:24  No: 127449

解決チェックを促されても無視…とかね。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200511/05110009.txt

学生のようだが、そのまま大人にならないことを願う。

#既に年齢は大人なのだろうが…。


なな  2005-11-09 19:31:08  No: 127450

>解決チェックを促されても無視…とかね。

かといって今更古い投稿に下手に

> [[解決]]
> 解決いたしました。
> それでは失礼します。

というような、何の中身のない、解決チェックされて、
スレッドをいたずらにあげられても困るけれどね。
正直なところ。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加