• ベストアンサー

リストビューコントロールのアイテム選択

osaosa42の回答

  • ベストアンサー
  • osaosa42
  • ベストアンサー率60% (20/33)
回答No.1

VB5なら、 ------------------------------------------------- Dim r As Long 'リストビュースタイル変更用マクロのハンドル取得 r = SendMessage(ListView1.hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0&, ByVal 0&) '全行選択のフラグを付ける r = r Or LVS_EX_FULLROWSELECT 'リストビュースタイル変更用マクロへ設定 r = SendMessage(ListView1.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0&, ByVal r) '定数・APIは、APIビューアで追加してください。 ------------------------------------------------- VB6なら、リストビューのプロパティで「行全体を選択チェック」をチェックすればOKです。

関連するQ&A

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

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

  • リストビューのアイテム数

    リストビューの選択されているアイテム数の求め方はわかったのですが、全アイテム数の求め方が分かりません。ループさせないと求められないのでしょうか?

  • VB6 リストビューのサブアイテムをクリックしてそのサブアイテムの値を

    VB6 リストビューのサブアイテムをクリックしてそのサブアイテムの値を取得したいのですが、サブアイテムのインデックスの取得方法がわかりません。どうすればいいか教えてください。

  • C# 仮想リストビュー

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

  • リストビューの選択状態を取得するメッセージはありますか?

    リストビューが選択状態(1行が青色や灰色の背景になる状態)にあって、エディットボックスが空欄では無いときに、 あるボタンを有効にするという処理をしたいと思っています。 リストビューが選択されていることを教えてくれるメッセージがあれば、教えてください。よろしくお願いします。 環境:Win32 API, VC++6.0

  • VC++リストビューで選択されている色の変更

    リストビューで表示スタイルをレポートにしています。 で、マウスなどでクリックすると当然のごとく青色に選択され、別のウィンドウをクリックすると灰色になるのですが、この青色と灰色両方の色を変えたいのですがどうしたらよいでしょうか?よろしくお願いします。

  • リストコントロールにセットするイメージリストについて

    こんにちは。 Windowsでレポート状態表示のリストコントロールについて質問です。 リストコントロールははオーナーデータで表示しています。 一覧でアイテムの横にアイコン(ビットマップ)を表示しています。 またソートできるようにし、コラム部分には昇順か降順か分かるように▲▼が 表示されるようにしようと思っています。 リストコントロールに表示するアイテム用のイメージリストとヘッダー コントロール用のイメージリストを用意し、リストコントロールと リストコントロールから取得したヘッダーコントロールにそれぞれ 追加したのですが、 Header_SetImageList(ヘッダーコントロールのウィンドウハンドル) ; ListView_SetImageList(リストコントロールのウィンドウハンドル) ; 上記の順番では後から追加したイメージリストで上書きされてしまいました。 Header_GetImageListでイメージリストを取るとListView_SetImageListで セットしたイメージリストのハンドルが取得されます。 リストコントロールでイメージリストを取り扱う場合はリストアイテムも ヘッダーも一つのイメージリストで管理しなければならないのでしょうか ?

  • MFCでのリストコントロール

    現在VisualStudio.NET2005を使ってダイアログベースでプログラムを組んでいます。 その中でリストコントロールを配置しており、表形式で表示しています。 普通だったら実行してリスト上にあるデータをクリックすると背景が青になり、選択された状態になりますよね? それをクリックしても選択されないようにしたいのです。 プロパティで簡単にできるかと思ったらそうでもなさそうで・・・。 SetExtendedStyleでも使うのかな?と思って、 調べたのですが、ちょっとわからなかったので、 教えて頂きたいのです。 よろしくお願いします。

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

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

  • リストコントロール(MFC or API)の最後尾にアイテムを追加するには?

     以下のような手順でリストコントロールにアイテムを追加しています。すると新しいアイテムはリストコントロールの先頭に追加されてしまいます。  先頭ではなくリストの最後尾にアイテムを挿入するにはどうしたらいいのでしょうか?  このサンプルはMFCですが回答はAPIやほかの手段を使っていても構いません。ヒントだけでも分かる方がいましたらお願いします。 LVITEM sItem; sItem.mask = LVIF_TEXT; sItem.iItem = 0; sItem.iSubItem = 0; sItem.pszText = LPSTR_TEXTCALLBACK; m_lpcList->InsertItem(&sItem);