- ベストアンサー
リストビューの列ヘッダーの幅について
visual basic 6.0です。 リストビューの列ヘッダーの幅を、実行中に変更できないようにするには、どのようなコードを記述すればいいでしょうか。プロパティページでは設定できませんでした。どなたか教えてください。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ヘッダ幅の変更に対するイベントは無さそうですね 対処療法ですが FormのLoadイベントでヘッダの大きさを取得しておき リストビューの MouseMoveイベントなどでチェックといった具合かなと思います dim HeaderWidth() as Single Sub Form_Load() dim n as Intger, i as integer n = ListView1.Columns.Count redim HeaderWidth( 1 to n ) for i = 1 to n HeaderWidth( i ) = ListView1.ColumnHeaders(i).Width next End Sub Sub ListView_MouseMove( Button As Integer, Shift As Integer, x As Single, y As Single ) dim n as Intger, i as integer n = ListView1.Columns.Count if HeaderWidth( i ) <> ListView1.ColumnHeaders(i).Width then for i = 1 to n ListView1.ColumnHeaders(i).Width = HeaderWidth( i ) next end if End SUb # ヘッダーの中でポインターが動いてるまたは # ポインタが幅変更になっている間は # MouseMoveへは制御が移りません
お礼
ありがとうございます!出来ました! ヘッダーの中でポインターが動いてるまたはポインタが幅変更になっている間はしょうがないですよね。そもそも変更できないようにすることは出来なそうなので…残念です。でもこの方法を使ってみようと思います。 どうもありがとうございました!