• ベストアンサー

リストビューの列ヘッダーの幅について

visual basic 6.0です。 リストビューの列ヘッダーの幅を、実行中に変更できないようにするには、どのようなコードを記述すればいいでしょうか。プロパティページでは設定できませんでした。どなたか教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.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へは制御が移りません

noname#197694
質問者

お礼

ありがとうございます!出来ました! ヘッダーの中でポインターが動いてるまたはポインタが幅変更になっている間はしょうがないですよね。そもそも変更できないようにすることは出来なそうなので…残念です。でもこの方法を使ってみようと思います。 どうもありがとうございました!

関連するQ&A