VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/01/17(Mon) 00:48
投稿者みかん
Eメール
URL
タイトルListView 幅設定が0以外は無視される

環境:WindowsXP VB6.0(SP6)

ListViewの幅設定をしたところ0以外の数値を設定しても値が無視され、
全て0(幅なし)扱いになります。0を設定すると初期幅で表示できます。
以下のようなモジュールを使って設定しているのですが、
他のListViewでは問題なく設定できたのに、設定できないListViewが出てきました。
他のListViewとの違いは、フレーム上に乗っていること位です。

このような現象をご存知の方がいらっしゃればアドバイスをお願いします。

Public Sub gsubLsvColSet( _
    ByRef lvwCtrl As ListView, _
    ByRef strLvwColTitle() As Variant, _
    ByRef intLvwColWidth() As Variant, _
    ByRef intLvwColAlignment() As Variant)

    Dim clmX As ColumnHeader
    Dim nIndex As Integer
    
    lvwCtrl.ListItems.Clear 'リストを削除
    lvwCtrl.View = lvwReport
    
    lvwCtrl.ColumnHeaders.Clear

        For nIndex = 0 To UBound(strLvwColTitle)
             Set clmX = lvwCtrl.ColumnHeaders.Add()
            clmX.Text = strLvwColTitle(nIndex)
            '-1は幅なし(0)とする
            If intLvwColWidth(nIndex) = -1 Then
                clmX.Width = 0
            ElseIf intLvwColWidth(nIndex) > 0 Then
                clmX.Width = intLvwColWidth(nIndex)
            End If
            
            '先頭列(text)は左寄せのみ
            If nIndex > 0 Then
                clmX.Alignment = intLvwColAlignment(nIndex)
            End If
        
        Next nIndex

End Sub


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -