動作環境:WindowsXP
開発環境:Visual Basic6.0
ヘルプや下記のHPを参考にしたのですが
リストビューのカラムが表示されません。
別の方法では上手くいきましたがカラムの位置が真ん中に置けない為
他の方法を探しています。
何か思い違いをしているかもと思いましたので書き込みました。
よろしくお願い致します。
MSDNライブラリの参考箇所
ColumnHeaders コレクションのAdd メソッドの構文
下記のHPを参考にしました。
http://www.philly.ne.jp/~hanya/vb/listview.htm
<現在のプログラム>
Private Sub Form_Load()
'リストビューのカラムの設定
Call Make_ListView
End Sub
Private Sub Make_ListView()
Call ListView1.ColumnHeaders.Add(, , "番号",1200)
Call ListView1.ColumnHeaders.Add(, , "商品名",2000,lvwColumnCenter)
Call ListView1.ColumnHeaders.Add(, , "単位",1200,lvwColumnCenter)
End Sub
こんにちは
放置されていたので回答します
参考にしたHPをよく読んでくださいね
「あ。ちなみにさっき書いた『View』を『lvsReport : 3』にしてるからね。」
と書いてありますから。
ListView1.View = lvsReport
が必要ですね
VB梅さんありがとうございます。
調べてるのですが分かりません
>「あ。ちなみにさっき書いた『View』を『lvsReport : 3』
ここに対応する箇所を見たのですが
プロパティListView1プロパティ
View の選択肢には下記しかありませんでした。
(0-lvwIconになっていたのを3-lvwReortにしました)
0-lvwIcon
1-lvwSmallIcon
2-lvwList
3-lvwReport
プログラムもこのように直したのですが上手くいきません
よろしくお願い致します。
Private Sub Make_ListView()
ListView1.View = lvsReport
'リストビューのカラムの設定
Call ListView1.ColumnHeaders.Add(, , "番号", 1200)
Call ListView1.ColumnHeaders.Add(, , "商品名", 2000, lvwColumnCenter)
Call ListView1.ColumnHeaders.Add(, , "単位", 1200, lvwColumnCenter)
End Sub
こっちの環境では正常に実行できたよ。
>別の方法では上手くいきましたがカラムの位置が真ん中に置けない為
>他の方法を探しています。
その方法についてもなんか気になるので解説しておいて欲しいデス。
そっちの設定が残ってて悪さしてるとか?
…何かのオブジェクトの名前がかぶってるのかなぁ。。。
・新規プロジェクトを作成して、
・リストビュー(ListView1)とボタン(Command1)だけを配置して、
・デフォルトの設定のまま、プロパティは一切変更せず、
・下記コードを実行した結果は?
(ボタンは押してね)
[VB6.0]
Option Explicit
Private Sub Command1_Click()
'リストビューのカラムの設定
Call Make_ListView
End Sub
Private Sub Make_ListView()
With Me.ListView1
.View = lvwReport
Call .ColumnHeaders.Add(, , "番号", 1200)
Call .ColumnHeaders.Add(, , "商品名", 2000, lvwColumnCenter)
Call .ColumnHeaders.Add(, , "単位", 1200, lvwColumnCenter)
End With
End Sub
> ListView1.View = lvsReport
スペルミス? sじゃなくてwですが、
件のページの作者殿、VB梅殿もですが...(^^;。
特攻隊長殿が正解です。
宣言しないで使用している変数をチェックしてくれますので、
今回のような件のミス防止対策には、
Option Explicit を先頭につけることをお薦めいたします。
Option Explicit
Private Sub Form_Load()
'リストビューのカラムの設定
Call Make_ListView
End Sub
Private Sub Make_ListView()
With Me.ListView1
.ColumnHeaders.Add , , "番号", 1200
.ColumnHeaders.Add , , "商品名", 2000, lvwColumnCenter
.ColumnHeaders.Add , , "単位", 1200, lvwColumnCenter
.View = lvwReport
End With
End Sub
特攻隊長まるるうさん, もげさん
ありがとうございます。
新規作成して動かしましたら正常に動きました。
ちょっと不思議です。
>別の方法では上手くいきましたが
下記のプログラムです。
(私では上手く理解できなかったので、コピペーでした)
Private Sub Make_ListView()
'リストビューのカラムの設定
Dim colX As ColumnHeader
ListView1.View = lvwReport
Set colX = ListView1.ColumnHeaders.Add()
colX.Text = "番号"
colX.Width = ListView1.Width / 15
Set colX = ListView1.ColumnHeaders.Add()
colX.Text = "商品名"
colX.Width = ListView1.Width / 2
Set colX = ListView1.ColumnHeaders.Add()
colX.Text = "単位"
colX.Width = ListView1.Width / 15
Set colX = ListView1.ColumnHeaders.Add()
colX.Text = "数量"
colX.Width = ListView1.Width / 15
Set colX = ListView1.ColumnHeaders.Add()
colX.Text = "単価"
colX.Width = ListView1.Width / 10
Set colX = ListView1.ColumnHeaders.Add()
colX.Text = "売上金額"
colX.Width = ListView1.Width / 5
End Sub
ツイート | ![]() |