
No.4ベストアンサー
- 回答日時:
失礼しました
× HitItem
○ HitTest
でした。
Private Sub Form_Load()
Dim i As Integer
With Me.ListView1
.View = lvwList '//表示形式:一覧
.HideSelection = False '//リストビューがフォーカスを失っても、選択状態を保持する
.MultiSelect = True '//複数選択可能
'ダミーデータの登録
.ColumnHeaders.Add , , "ヘッダ"
For i = 1 To 10
Me.ListView1.ListItems.Add , , "Dmy Data" & i
Next i
End With
End Sub
Private Sub ListView1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim itmX As ListItem
With Me.ListView1
'マウス位置のアイテムを取得
Set itmX = .HitTest(x, y)
'取得できたなら未処理
If Not (itmX Is Nothing) Then
GoTo PGMEND
End If
'現在選択中のアイテムを取得
Set itmX = .SelectedItem
'取得できなかったなら未処理
If (itmX Is Nothing) Then
GoTo PGMEND
End If
'選択解除
Set .SelectedItem = Nothing
itmX.Selected = False
End With
PGMEND:
Set itmX = Nothing
End Sub
No.3
- 回答日時:
以前にエクスプローラのイベントを取得したいと思って、様々なメーリングリストを調べた経験があります。
explorer.exeの話題が出たので、ついでに勝手に補足しますw
>explorer.exe の右ペインのリスト
これは、エクスプローラ用のリストビューです。
構造はVBのリストビューと全く同じです。
サンプルで書いた
.HideSelection = False
属性を持っています。
さらにマウスダウン時に、C言語で言うHitItemマクロで、アイテムの上でのクリックかどうかを調査して、わたしのサンプルと同様なことを行っております。
ご回答ありがとうございました。
教えて頂いたサンプル通りにやってみました。
その上で、やはりエクスプローラーのような選択/選択解除が一番使い易いかな
と思い、HitItemについて調べているのですが、全然検索に引っかかりません。
他に何かキーワードがありましたら教えてください。
よろしくお願いします。
No.2
- 回答日時:
その ListView のことは、知らないんですが、
普通(explorer.exe の右ペインのリストなど)は、
アイテムじゃないところ(余白)をクリックすると、
選択解除できます。
No.1
- 回答日時:
Private Sub Command1_Click()
Dim itmX As ListItem
With Me.ListView1
Set itmX = .SelectedItem
If itmX Is Nothing Then
Set .SelectedItem = Me.ListView1.ListItems(1)
Else
Set .SelectedItem = Nothing
itmX.Selected = False
End If
End With
Set itmX = Nothing
End Sub
Private Sub Form_Load()
Dim i As Integer
With Me.ListView1
.View = lvwReport
.HideSelection = False
.ColumnHeaders.Add , , "ヘッダ"
For i = 1 To 10
Me.ListView1.ListItems.Add , , "Dmy Data" & i
Next i
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
vba ListViewの選択色について教えてください
Excel(エクセル)
-
リストビューをスクロールさせるには
Visual Basic(VBA)
-
ListViewで表示されたデータの選択行指定
Visual Basic(VBA)
-
-
4
vba Listviewでのチェックボックスのイベントを教えてください
Excel(エクセル)
-
5
Listviewのデータを上から順番に取得 VBA
Visual Basic(VBA)
-
6
ListViewの選択、選択解除を行いたい
Visual Basic(VBA)
-
7
VBA ListViewの選択Itemを削除する
Excel(エクセル)
-
8
ListViewで、非表示列って作れますか?
Visual Basic(VBA)
-
9
Excel VBA ListViewサブアイテムの文字色
その他(プログラミング・Web制作)
-
10
ListViewで複数選択された項目を一度に削除する方法
Visual Basic(VBA)
-
11
ListViewの複数選択について
Visual Basic(VBA)
-
12
vba listviewにおけるtextのAlingmentを中央にしたい
Excel(エクセル)
-
13
ListViewの行選択について
Visual Basic(VBA)
-
14
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
15
リストビューの項目の内容を変更する方法は?
Visual Basic(VBA)
-
16
Vba ListViewの行挿入に関して教えてください
Visual Basic(VBA)
-
17
ListViewから選択中の文字列を取得
Visual Basic(VBA)
-
18
VBAでListViewのフォントを変更する方法
Visual Basic(VBA)
-
19
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
20
ListViewでの行全体の選択
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NETで DataRow()を利用して...
-
PHP8でWarning:Undefined varia...
-
VBでインストール済みアプリケ...
-
vbaで、オートシェイプ文字幅と...
-
コンボボックスの表示は最大何行?
-
ListView 項目の選択/選択解除...
-
データ数をカウントしたいのですが
-
利用者側のMACアドレスを取得し...
-
outlookでメールのフォルダパス...
-
コンボボックス表示文字列を取...
-
count(*)で取得した値をJAVAの...
-
URIでのページの移動について
-
アクセスしてきたコンピュータ...
-
ファイル名の取得について
-
VB .netにて現在時刻+1時間後...
-
VBA:小数点以下の数字を取得で...
-
モニタの物理解像度を得る(Win3...
-
VBAでActiveDirectoryのユーザ...
-
バージョンナンバーの取得
-
PostgresSQL JDBC で Select結...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで DataRow()を利用して...
-
PHP8でWarning:Undefined varia...
-
データ数をカウントしたいのですが
-
VBAでActiveDirectoryのユーザ...
-
ListView 項目の選択/選択解除...
-
count(*)で取得した値をJAVAの...
-
利用者側のMACアドレスを取得し...
-
Flexgridで選択行の列の値を取...
-
VBA:小数点以下の数字を取得で...
-
JavaScriptにおいてコンピュー...
-
Spreadの選択行の取得について
-
ASP(vbscript)におけるクライア...
-
エクセルVBAで複数選択できるよ...
-
asp.netでtextboxの値を取得
-
コンボボックス表示文字列を取...
-
現在時刻をミリ秒まで取得
-
EXCELのリストボックスを選択し...
-
Excel VBA でログインしてい...
-
URIでのページの移動について
-
VBA リストボックス内の値を複...
おすすめ情報