No.1ベストアンサー
- 回答日時:
VBだけでやるなら フラグを使ってMouseDownイベントなどでCtrlが押されているかどうかを判断しておくといった手法だと思います
WinAPIを使っていいのであれば GetKeyStatus辺りでチャックでしょう
フラグの場合
Dim bCtrl as Boolean
Sub Form_DblClick()
if bClrl then
MsgBox "Ctrlも一緒でした"
end if
End Sub
Sub Form_MouseDown( b as integer, s as integer, x as Single, y as single)
if s and vbCtrlMask then
bCtrl = True
else
bCtrl = False
end if
End Sub
WinAPIならば
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Const VK_CONTROL = &H11
Private Sub Form_DblClick()
If GetKeyState(VK_CONTROL) Then
MsgBox "Ctrlも一緒だよ"
End If
End Sub
といった具合でしょう
ありがとうございます。
投稿した後に自己解決してしまいました。
APIを使用しないのでredfox63さんの前者とほぼ同じです。
Public dblclk As Integer
Private Sub Form_DblClick()
dblclk = 1
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
If dblclk = 1 Then
If Shift = vbCtrlMask Then
'Ctrlを押しながらダブルクリックした場合の処理
Else
'Ctrlを押さずにダブルクリックした場合の処理
End If
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(パソコン・周辺機器) PCの操作中に画面がフリーズしましたマウスを動かしても反応しないし「Ctrl」キーと「Alt」キーと 2 2022/04/17 10:09
- その他(IT・Webサービス) AutoHotKeyで、キーボードにマウスの右クリックを割り当てられる? 1 2023/03/30 00:23
- その他(コンピューター・テクノロジー) 画面がおかしい 3 2023/03/26 07:50
- その他(IT・Webサービス) Google日本語入力の操作方法 一度確定した後の訂正方法 1 2023/06/17 16:03
- Visual Basic(VBA) VBA ダブルクリックしたときにctrlキーが押されているか知りたいのですが。 1 2023/06/30 22:42
- Word(ワード) ワードに貼ってあるURLが開かなくて困っています. Ctrl」キーを押しながら右クリックしても全く開 4 2022/04/30 22:40
- デスクトップパソコン Windows11でスクショする方法がわかりません。 調べましたが、どうもWindowsキーがあるキ 8 2022/06/05 05:37
- Excel(エクセル) エクセルのショートカットの別のキーへ割当。Ctrl+CをCtrl+1へ変更など 3 2022/11/10 00:03
- マウス・キーボード キーボード設定で困っています。長文です。 2 2022/12/10 12:44
- Windows 7 ショートカットキー 応用編 どういうの主に使いますか? 2 2022/12/28 23:46
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VBA ダブルクリックしたときにctrlキーが押されているか知りたいのですが。
Visual Basic(VBA)
-
Ctrlキーが押されたことの検出
Excel(エクセル)
-
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
-
4
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
5
Shiftキーを押しながら起動
Visual Basic(VBA)
-
6
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
7
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
8
XL:BeforeDoubleClickが動かない
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c# 文字列の最後から1文字削除...
-
Spread.NETの行削除について
-
Eclipseでクリーンが出来ない
-
VBのこのコードの意味を教えて...
-
初期状態に戻す方法
-
表示ボタン押下すると、テキス...
-
ブラウザの×ボタン(閉じるボタ...
-
C# VBAで言うexit subについて
-
Fancyboxのiframe内に閉じるボタン
-
VBAで一時中断したプログラムの...
-
グリッドビューでのチェックボ...
-
SPREADでカーソルの位置を1行目...
-
プルダウンメニューのジャンプ...
-
JSPでメッセージボックスを表示...
-
最大化ボタンと最小化ボタンを...
-
Webブラウザの閉じるボタン無効...
-
押す
-
【ASP.NET】UpdatePanel上の制御
-
VC++ MFC CListCtrlで、ボタン...
-
MEDIAS N-04DのFactoryReset
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c# 文字列の最後から1文字削除...
-
DataGridViewのチェックボック...
-
VBAで一時中断したプログラムの...
-
グリッドビューでのチェックボ...
-
SPREADでカーソルの位置を1行目...
-
JSPでメッセージボックスを表示...
-
ブラウザの×ボタン(閉じるボタ...
-
JSPでボタンを押したら、文字が...
-
Eclipseでクリーンが出来ない
-
最大化ボタンと最小化ボタンを...
-
Ctrlキーを押しながらのダブル...
-
メール添付されたPDFファイルが...
-
EXCEL2010でセルが編集中かを判...
-
今更、VBAでRPA、キーボード操...
-
CheckBoxをボタン形式にして押...
-
Fancyboxのiframe内に閉じるボタン
-
asp.net メッセージボックス表...
-
javascript 別ウィンドウを開...
-
エクセルにカウンターを設置したい
-
Excel:「フォーム」のボタンで...
おすすめ情報