リストビューの1行の高さを変えるには?

解決


ささき  2011-10-28 13:38:40  No: 103093

リストビューの全行の高さを変更したいと思っています。
listview1.listitems(1).height=1000としましたが、「値の取得のみが可能なプロパティです。」とエラーメッセージが出てしまいます。
不可能なのでしょうか?

vb6(sp6)です。


魔界の仮面弁士  2011-10-28 18:46:57  No: 103094

ListItem の高さは、設定されているフォントや
View プロパティの値に応じて自動的に調整されます。

  Debug.Print Me.ListView1.ListItems(1).Height
  Me.ListView1.Font.Size = Me.ListView1.Font.Size * 1.5
  Debug.Print Me.ListView1.ListItems(1).Height

> 不可能なのでしょうか?
フォントサイズを変更できない場合は、アイコンサイズを使うことで高さを増やせます。

Option Explicit
Private Sub Form_Load()
    '小さな画像を作成
    Dim dummyPicture As Picture
    With Me.Controls.Add("VB.PictureBox", "picDummy", Me)
        .Visible = False
        .Move 0, 0, 0, 0
        Set dummyPicture = .Image
        Me.Controls.Remove "picDummy"
    End With

    '高さ 35 の画像として、イメージリストに割り当てる
    Me.ImageList1.ListImages.Clear
    Me.ImageList1.ImageHeight = 35
    Me.ImageList1.ImageWidth = 1   '幅は 0 にできないので、最小値 1 を指定
    Me.ImageList1.ListImages.Add Key:="Dummy", Picture:=Me.Image

    'ListView にイメージリストを割り当てる
    '詳細モード(lvwReport)の場合は SmallIcons プロパティを使う
    Me.ListView1.View = lvwReport
    Set Me.ListView1.SmallIcons = Me.ImageList1

    '結果を比較してみる
    Initialize ListView1    'SmallIcons 指定あり
    Initialize ListView2    'SmallIcons 指定なし
End Sub

Private Sub Initialize(ByVal lvw As ListView)
    lvw.BackColor = &H80FF&

    lvw.Font.Name = "MS ゴシック"
    lvw.Font.Charset = 128
    lvw.Font.Size = 12
    
    lvw.ColumnHeaders.Clear
    lvw.ColumnHeaders.Add Text:="Column 1"
    With lvw.ListItems
        Dim i As Integer
        For i = 1 To 50
            .Add(Text:="Item" & Str(i)).ForeColor = QBColor(i And &HF)
        Next
    End With
End Sub


ささき  2011-10-29 06:02:22  No: 103095

ごめんなさい。
Viewプロパティはreportでした。

フォントサイズは、リストビューのところだけ大きくすると変なので。

データを次のようにワザと改行させたりさせましたが、駄目でした。
space(1) & vbcrlf & "てすと"
1マススペースが空いただけでした。

教えていただいたアイコンの方法で挑戦しようと思います。
ただ、リストビューでだけ大きなアイコンを表示するのは変なので、ColumnHeaderのwidthを0にしようかと思っています。

結果はまたご報告します。

ありがとうございました。


ささき  2011-10-30 07:27:02  No: 103096

できました!

ありがとうございました。

勉強になりました。


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

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






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