OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

Ctrl + Clickについて

  • すぐに回答を!
  • 質問No.116852
  • 閲覧数66
  • ありがとう数1
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 43% (24/55)

コマンドボタンを『クリック』する時とは別の処理を『Ctrl + クリック』で行いたいのですが、どうコーディングすればいいのでしょうか?
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル11

ベストアンサー率 34% (139/407)

すみません、サンプルプログラムバグってました。
ifの部分を以下の内容と差し替えてください。

誤)
If (chk <> 1) Then

正)
If ((chk And &H8000) = &H8000) Then
お礼コメント
clover2

お礼率 43% (24/55)

ありがとうございました。
動作確認できました。
ただ、修正コメント(現象,原因)を追加していただけると、
もっと嬉しかったです。
投稿日時 - 2001-08-20 11:25:35
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル8

ベストアンサー率 56% (13/23)

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

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

ベストアンサー率 34% (139/407)

Win32APIのGetKeyStateを使って、クリックイベント時にコントロールキーが押されているかを確認する方法があります。 以下、サンプル Option Explicit Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer Private Const ...続きを読む
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
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ