• ベストアンサー

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

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

noname#197694
noname#197694

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

  • ベストアンサー
  • 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

  • VB6を使っています。リストビューのカラムヘッダーの色を変えたい。

    VB6を使っています。リストビューのカラムヘッダーの色を変えたい。 リストビューのカラムヘッダーをクリックしたら、そのカラムヘッダーの文字色が変わるとか、又は背景色が変わるとかしてその列が選択されたと判るようにしたいのですが、可能でしょうか? ColumnHeadersにはForecolorとかFontcolorといったものは無さそうなのでどうすればいいか判りません。 別に色にはこだわりません。 太字でもいいです。列がわかればいいのです。よろしくご指導下さい。

  • SpreadDesignerの列ヘッダ

    いつもお世話になっております。 スプレッドシートの列ヘッダを固定表示(ロック)したいのですが、うまくいきません。 ヘッダをクリックしてコピーをすると、選択した列のコピーをして、同じように他の列を選択して張り付けるとヘッダまで編集されてしまいます。 そのために With Spread .BlockMode = True .Col = -1 .Col = 0 .Lock = True .BlockMode = False End With としていますが、ヘッダ部分ではなくセル自体にロックがかかってしまいます。 ヘッダは編集不可にして、セルは編集可能にしたいのですが、コードで設定できるでしょうか? プロパティからでもできるのであれば、どのような方法がありますでしょうか? お分かりの方、お教え願います。

  • 【vb6】リストビューへのアイコンの追加

    お世話になります。 vb6のリストビューについて質問があります。 リストビューに作った複数の列(現状はヘッダーで区切っただけの擬似的なもの)に対して、 例えば”1行目の4列目にアイコンを設定する"といった事をやりたいのが方法がわかりません。 グリッドを使えば楽なのは分かっているのですが、今回は見た目の都合上リストビューで作りたいと考えています。 またAPIを使えば画面に絵を貼り付けられるのも承知していますが、そのようなことをしなくても 標準の機能でアイコンを追加することは出来ると昔聞いたもので、APIではない方法を探しています。 どなたかご存知の方がいらっしゃればどうか教えてください。 よろしくお願いします。

  • ウインドウのビューをリストビューにするには?(VC++6.0)

    VC++6.0 MFCにて MFC AppWizardにてプロジェクトを作成します。 SDIを選択し、後はデフォルトのままです。 そうやって作ったベースとなるコードを実行すると、 普通にウインドウが開きます。(当然か) そのウインドウのビューをリストビューにしたいのですが、 どこにどのようなコードを書けば良いのでしょうか?

  • ヘッダーの設定

    ヘッダーの設定についてお伺いしたいです。 Microsoft Vista Word2005 です。 ヘッダーの設定が,最初のページと2~3ページあととでは,幅が大きく違います。 揃えたいのですが,どうすればよろしいでしょうか? 左側に出現するルーラー(?)で変更すると,ある一定幅以上に狭めると,ヘッダーがフッターとくっ付くほどにまでヘッダーが反発して大きくなってしまいます。

  • ACCESSでコンボボックスをプルダウンする際のリストの幅について

    簡単なことですみません。ぜひ教えて下さい。 フォームにコンボボックスを設置した際のリストボックスの幅の設定する方法を教えて下さい。 リストを左右2列にして表示しているのですが、列ごとに幅を変えたいのですが、プロパティのどこに数値を入れたらいいかわかりません。 ご存知の方、教えてください。

  • リストビュー ⇔ 別ファイル構造体 の実現方法

    VC++6.0、Win32 APIを用いて作成しているダイアログボックスを表示するアプリについてです。 パターン(パターン1~3までの3種類)が格納される列と、文字列(最大256バイト)が 格納される列の2列からなるリストビューがあります。 そのリストビューに新しい情報(行)を追加するたびに、その該当行の情報を 別ファイル(設定ファイル)の構造体に格納し、リストビューの変更・削除があれば、 その都度構造体を更新し(?)反映させたいです。 メモリも無駄なく、効率的に使いたいです。 また次回以降そのアプリを起動させる際には、設定ファイルの内容を読み込んでリストビュー の表示に反映させたいです。 正直、構造体は苦手なため解らないことだらけなのですが、パターンを格納するint型の変数と 文字列を格納する固定長256byteのchar型配列の変数が必要なのではと思っています。 後は、レコード数を格納するヘッダーも必要なのでしょうか・・・ メモリの取得、開放、移動方法はいまいち分かりません。 現在は、ラジオボタン(パターン用)とエディットボックス(文字列用)を用いて、 リストビューに登録するところまでは出来ています。 変更や削除の機能も実装出来ています。 上記の処理を実現させるための詳細な流れを教えてください。 サンプルコードも載せて頂けると幸いです。 分かりにくい文章で申し訳ありませんが、よろしくお願い致します。

  • リストビューのTextBackgroundの使い方

    リストビューのプロパティにTextBackgroundというものがあると思うのですが、これはどのような使い方をするのでしょうか?もし、ご存知でしたらよろしくお願いします。

  • リストビューの初期化について

    リストビューのアイテム(編集可能なところ)とサブアイテム(基本的には編集不可のところ)の表示位置(列)をプログラムから変更できるのでしょうか? 一列目にサブアイテム:1 二列目にサブアイテム:0という形にしたいのですが。。。 ご存知の方いらっしゃいましたらお願いいたします。

  • [C#]ListView一覧表示時の幅設定について

    [開発言語] C# [開発環境] Visual Studio 2005 C#のListViewに関して質問です。 ViewプロパティにListを指定した場合のItemの幅はどのように設定するのでしょうか? 理想としては、エクスプローラのように ItemのTextの長さに応じて最適な幅に調節したいのです。 よろしくお願いいたします。

専門家に質問してみよう