[リストへもどる]
一括表示

投稿時間:2003/09/06(Sat) 04:36
投稿者名:まい
Eメール:
URL :
タイトル:
リストボックスで右クリック
初めまして、最近VB6をはじめたのですが、次のことで行き詰まってしまいました。
リストボックスで右クリックをしたときに、リストボックスの内容を選択するようにしたいのですが、
うまくいきません。 リストボックスの内容を左クリックした時は青く反転して選択できるように、
右クリックで同じことをしたいのです。 どうしたらよいのか、教えてくれませんか?
よろしくお願いいたします。

投稿時間:2003/09/06(Sat) 09:26
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: リストボックスで右クリック
こう言う事でしょうか?

Option Explicit

Private Declare Function LBItemFromPt Lib "comctl32" _
    (ByVal hLB As Long, ByVal x As Long, ByVal y As Long, _
     ByVal bAutoScroll As Long) As Long

Private Type POINTAPI
    x As Long
    y As Long
End Type

Private Declare Function GetCursorPos Lib "user32" _
    (lpPoint As POINTAPI) As Long


Private Sub List1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    If Button = vbRightButton Then
        Dim MPos     As POINTAPI
        Dim LstIndex As Long
        GetCursorPos MPos
        LstIndex = LBItemFromPt(List1.hWnd, MPos.x, MPos.y, False)
        If LstIndex <> -1 Then
            List1.Selected(LstIndex) = True
            'Debug.Print List1.Text
        End If
    End If
End Sub

投稿時間:2003/09/06(Sat) 11:39
投稿者名:まい
Eメール:
URL :
タイトル:
Re^2: リストボックスで右クリック
おはようございます。
即答ありがとうございます。
わからないコマンドがいくつかあったのですが、そのまま打ち込んで試してみたところ、
自分の希望通り、右クリックで選択できポップアップメニューが開きました。
大変感動しました。 これで少しVBの勉強も前進した気がします^^
本当にありがとうございました。

投稿時間:2003/09/06(Sat) 11:53
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: リストボックスで右クリック
GetCursorPos で現在のマウスポインタの位置を取得して、LBItemFromPt でその位置から
リストボックスの行の位置を取得しているだけです。

#向こうの掲示板にも解決報告しておいて下さい。

投稿時間:2003/09/08(Mon) 20:45
投稿者名:まい
Eメール:
URL :
タイトル:
解決しました
だいぶ、アプリケーションらしいアプリケーションになってきました。
ありがとうございました。

PS「向こうの掲示板」ってどれでしょうか・・・教えてください。
   ご迷惑おかけします。

投稿時間:2003/09/08(Mon) 23:26
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: 解決しました
> PS「向こうの掲示板」ってどれでしょうか・・・教えてください。
>    ご迷惑おかけします。

VB初心者友の会の下記の投稿は貴方ではなかったのでしょうか?このような変わった質問が
同時期に複数出てくるのが不思議なので同じ方と思っていたのですが、違っていたらごめんなさい。


#702 リストボックスの右クリック対応
匿名702 2003年9月6日(土)8:49   ← 返信

リストボックスをクリックすると、クリックされた項目が選択されますよね?
それを、右クリックしたときにも選択したいのですが、どのようなコードを書けばいいのか分かりません。
何か複雑な処理が必要なのでしょうか?
VBは6.0を使用しています。

投稿時間:2003/09/09(Tue) 17:40
投稿者名:まい
Eメール:
URL :
タイトル:
Re^2: 解決しました
まったく同じ質問ですね^^;
これは私の書き込みではないですが、同じ悩みを持ってる人がいるものですね。
これ以上、上げるのもなんですので、これにて失礼いたします。
とにかくありがとうございました。