最新閲覧日:

コマンドボタンを『クリック』する時とは別の処理を『Ctrl + クリック』で行いたいのですが、どうコーディングすればいいのでしょうか?

A 回答 (3件)

すみません、サンプルプログラムバグってました。


ifの部分を以下の内容と差し替えてください。

誤)
If (chk <> 1) Then

正)
If ((chk And &H8000) = &H8000) Then
    • good
    • 0
この回答へのお礼

ありがとうございました。
動作確認できました。
ただ、修正コメント(現象,原因)を追加していただけると、
もっと嬉しかったです。

お礼日時:2001/08/20 11:25

Win32APIのGetKeyStateを使って、クリックイベント時にコントロールキーが押されているかを確認する方法があります。



以下、サンプル
Option Explicit
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Const VK_CONTROL = &H11

Private Sub Command1_Click()

  Dim chk As Integer
  
  chk = GetKeyState(VK_CONTROL)
  
  If (chk <> 1) Then
    MsgBox "Ctrlキーが押されています"
  Else
    MsgBox "マウスクリックのみでした"
  End If
 

End Sub
    • good
    • 0

Clickイベントでは、Ctrlキーなどの特殊なキーが押されていることを判断できません。



MouseDown,MouseUpイベントを使用すると、
特殊なキーが押されていることを判断できますので、
そちらを使用したらどうでしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ