• ベストアンサー

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

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

  • sean9
  • お礼率80% (32/40)

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

  • ベストアンサー
回答No.1

使用したことはないのですが、 Win32 API だと LVM_SETCOLUMNORDERARRAY or ListView_SetColumnOrderArray MFC だと CListCtrl::SetColumnOrderArray でできるみたいです。 ただし、comctl32.dll のバージョンは 4.70 以降でなければならないようです。

sean9
質問者

お礼

無事動作確認できました!ありがとうございました!

関連するQ&A

  • リストビューのスクロール

    お世話様です。 C#.NET(1.1)でプログラミングしています。 リストビューですが以下の設定を行っています。 CheckedBox=true View=List MultiSelect=true Scrollable=true ※カラム関係は何も設定してません。 この設定で、アイテムをどんどん追加していき、ListViewの最大高さまで アイテムが埋まると、水平スクロールが表示され2列目が表示されるのですが、これを垂直スクロールで下に追加という形をとりたいのですが、 どうしたらいいのかわからないです。 (なぜCheckListBoxにしないのかというのは、複数選択ができないからです。) ご存知の方、ご教授願います。(××)

  • リストビューのハンドルについて

    リストビューコントロールのハンドルについて疑問に思う事がありまして、ご教授よろしくおねがいします。 通常リストビューをCreateWindow()で作成した時に戻り値として受け取るウィンドウハンドルに対してSetWindowFont()を行うとリストビュー全体のフォントが変更されます。 リストビュー関数にはListView_GetHeader( リストビューハンドル );という関数が用意されていてリストビューのカラム部分のハンドルを取得できます。 このハンドルに対してSetWindowFont()を行うとカラム部分だけのフォントが変更されます。 という事はアイテム部分だけのハンドルを取得し、SetWindowFont()でフォントを変更する事はできるのでしょうか? ご教授よろしくお願いいたします。

  • リストビューのコンボボックス

    こんにちは。 リストビューについて質問させて頂きます。 リストビューの中3列があって、2番目の列にコンボボックスに表示したいけど、どうやって以下のリンクのソースを修正すればいいか教えてくれますか。ありがとうございます。 http://support.microsoft.com/kb/320342/jp​

  • リストビューのスクロールバーを非表示にしたい

    eMbedded Visual C++ 4.0 、MFC 、ダイアログベースでプログラミングをしています。 リストビューのスクロールバーを非表示にしてCListCtrl::Scrollを使い別のプログラムからスクロールさせたく、 「EnableScrollBarCtrl」や「ShowScrollBar」を使ってみたりしましたが非表示にできません。 リストビューのプロパティで「スクロールさせない」にチェックすると、CListCtrl::Scrollによるスクロールができなくなってしまいます。 非表示でCListCtrl::Scrollでスクロールできる方法をご存知でしたら教えてください。 なぜ別のプログラムでスクロールさせたいのかといいますと複数のリストビューを連動させてスクロールさせたいためです。 eMbedded Visual C++ 4.0はVC++6.0と似ているようですのでそのあたりに詳しい方アドバイスをください。

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

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

  • C# 仮想リストビュー

    お世話になります。 仮想リストビューで画像一覧を表示しているのですが、アイテムの選択状態を上手く取得できず困っています。 通常はItems.SelectedImtesで取れるのですが、仮想リストビューだと例外になってしまいます。 そこでOnItemSelectionChangedで取得しようとしたのですが、何故か選択解除のタイミングでイベントが発生しません。仮想リストビューだからなのでしょうか。 とりあえず今はOnDrawItemで取得して変数に保存していますが、今度はスクロールで隠れた画像の選択解除が取得できません。 ですのでOnItemSelectionChangedでShiftキーとCtrlキーの有無を見て、押されていなければ一度全てのアイテムが選択解除されたものとし、その後Invalidate()とUpdate()でOnDrawItemを呼び出しています。 OnDrawItemで現在表示中の場所(クリックしたアイテム。この時は1つだけのはず)の選択状態が取れるので、とりあえずこれで目的の動作は果たしました。 ですがやり方がスマートでない上に、アイテムをクリックする度に画面を更新しているので見た目が悪いです。 何か良い方法は無いでしょうか?

  • EXCEL VBA リストビューの項目編集

    質問させさせていただきます。 EXCEL VBAで、フォーム上にEcxelシートのような表形式のコントロールを貼り付けて、編集したいと考えています。 調べたら、見た目はリストビューが良かったのですが、2列目以降が選択できないとの事なので、 他にグリッド系コントロール(無料)で良いものがあったら教えていただきたいと思います。 また、リストビューを使った場合でも、何か案があれば助言いただきたいと思います。 リストビューに期待しただけに、ショックは大きいです・・・

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

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

  • リストビューの項目の内容を変更する方法は?

    お世話になります。 VS2005を使用しています。 VB.NETのリストビューで一覧を作ったのですが、その中の項目の内容をプログラム内から変更することは出来ないのでしょうか? 色々検索してみたのですが見つかりませんでした。 現在、リストビューには4つの項目があり、100行くらい有ります。 (1つ目の項目にはチェックボックス付き) その中の、項目の内容を変更したいのです。 やはり、以下のようにしなければいけないのでしょうか。 1)一旦対象行の内容を保存 2)対象行を削除 3)保存先で内容変更 4)リストビューに再追加 よろしくご享受下さい。

  • EXCEL VBA リストボックスの列を指定してForeColorを変更する方法について

    すいませんEXCEL VBAのリストボックスのことでお伺いしたいことがあります。 シート上に複数列を表示させるリストボックスを作っているのですが、 その1列目だけフォントのカラーを変更するというのは可能なのでしょうか。 プロパティのForeColorを変更すると当然ですが全部の列の色が変更されてしまい、 色々探しても出来る出来ないを含めてやり方について触れたものが見当たりません。 どなたかご存知の方がおられましたらご教示ください。 With Sheets("AAA").ListBox1   .ColumnCount = 6  .ColumnWidths = "55,70,40,40,40,35"  ’一列目だけフォントのカラーを赤くする  End With

専門家に質問してみよう