• ベストアンサー

Ctrlキーを押しながらのダブルクリック

(VB6/WindowsXP) DoubleClickイベント発生時にCtrlキーが押下されているかどうかを判定するにはどうすればいいでしょうか?

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

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答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 といった具合でしょう

freednia
質問者

お礼

ありがとうございます。 投稿した後に自己解決してしまいました。 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

  • vbで[ctrl]+[tab]を認識させるにはどうしたらよいでしょうか?

    はじめまして、どうしてもうまくいきません。教えてくださいませ。 [ctrl]+[tab]キー入力を認識させるにはどうしたら良いでしょうか? 現在、VBでMDIフォームを使用してプログラムを作っております。 [ctrl]+[tab]キー入力を行なうと、子フォーム間でフォームの移動が起こってしまいます。CommandButton押下時にのみ、フォームの移動を行なうようにしたいので、 [ctrl]+[tab]キー入力を制御して実現させようとしているのですが、うまくいきません。 MSDNライブラリには、KeyUpとKeyDownのイベントで Tabキーの操作は発生しないと書いてありました。。。 何か方法がありましたらお教えいただけると助かります。 どうぞよろしくお願いします。

  • ctrlキーが使えない

    購入したばかりの無線キーボード(TK-FDM092SMBK)の二つあるうちの使用頻度の一番高い左下のctrlキーが使えません。 押下しても反応がなく、もう一つのctrlキーは正常に使用出来ます。 故障でしょうか? ※OKWAVEより補足:「エレコム株式会社の製品」についての質問です。

  • HHKB HYBRID Ctrlキーが効かない

    MacでHHKB Professional HYBRID Type-Sを使用しています。キーマップの変更はしていません。 Blue ToothにてPCと接続しているのですが、たまにCtrlキーが効かないことがあります。(Ctrl+Cと押下しても、Ctrlが反応せず「c」と入力されてしまう) 2度目以降の入力では正しくCtrlが効いた状態で入力できます。 数分キーボードを触らなかった時によく起こる気がしますが、自動で接続が切れたりするのでしょうか? 有線で接続するときは、このような事象は発生しません。 原因がわからず、ご回答のほどよろしくお願いいたします。 ※OKWAVEより補足:「「ScanSnap/fiシリーズ/HHKB」商品について」についての質問です。

  • 最新ページを表示する際のF5キーとctrl+F5キーの違い

    お世話になります。 Webページを最新状態で表示する際に、ショートカットキーを利用して「F5」押下または「ctrl」キーと「F5」キーを同時に押下する場合があるかと思います。 Q1.この、「F5」キー単独の場合と、「ctrl」キーと「F5」キーを同時に押下した場合の違いは何なのでしょうか?どちらの場合も、たまにですが、最新状態が表示されないことがあります。クライアントマシンのキャッシュの設定や、表示するWebページがフレームを使っているかどうかも関係しているのでしょうか?なにかご存知の方がいらっしゃいましたらお教え下さい。 Q2.ASP.NETで開発しているwebページがあるのですが、F5キーやctrlキー押下時の処理を記述することはできるのでしょうか? 以上、よろしくお願いいたします。

  • Tabキーを拾えるVB2005カスタムコンボを作りたいです

    こんにちは。 現在、VB2005をつかって開発をしています。 作りたいものはTabキーやShiftキー押下時にKeydownでイベントを取得できる カスタムコンボボックスなのですがどうも上手くいきません。 どなたかご助言をよろしくお願いします。

  • Ctrl + Shift + 矢印キーが効かない

    Windows10のPCで、Ctrl + Shift + 矢印の上下キーが効かないです。 しかし、Ctrl + Shift + 矢印の左右キーは効きます。 この現象は、Excel2019の操作をしていて気が付きました。 最初Excelの問題かと思ったのですが、LibreOfficeのCalcでも同様です。 「keyboard viewer」と言うフリーのソフトをインストールして、キーの押下状態を調べたところ、やはりCtrl + Shiftキーを押した状態では、上下矢印キーの信号がPCへ出力されていないようです(左右キーはちゃんと反応する)。 因みに、Ctrl + 矢印上下キー、Shiftキー + 矢印上下キーは、それぞれ問題なく反応します。 キーボードの故障かと思い、別のキーボードを繋いでみたのですが、現象変わりません。 キーボードはどちらもLogicool製です。 これはLogicool製のキーボードの仕様なのか、あるいは不具合なのか。 それともWindow10に原因があるのか。 あるいは私のPCのハードウェアの問題なのか。 切り分け出来ずに悩んでいます。 皆様の環境ではどうですか。原因について分かる方はいますか。

  • Ctrlキーがずっと押された状態になる

     こんにちは、いつもありがとうござます。  VAIO PCV-LX70 を使っています。OSはWindows2000Proです。時々エクセル2000で作業をしていると、Ctrlキーがずっと押された状態になって固まってしまいます。他のキーを一つ押しても、それを「Ctrl+押したキー」と読み取ってしまい、作業が停止してしまいます。Ctrlキーを押してもESCキーを押しても解除してくれません。エクセルは会社での使用頻度が高いだけで、エクセルの問題ではないような気がします。何をやっても解除できない時と、Ctrlキーを押し続けたら解除できる時があります。前者の場合は仕方なく強制終了して再起動しています。  Ctrlキーを押してなくても押していると判断されている場合の解除方法をご存知の方、いらっしゃいませんか? キーボードは新しいのに変えても同じでした。もしかしたらマザーボートかHDがおかしいのでしょうか?  PCに詳しい友人はVAIOの欠陥だから仕方ないと言っていましたが、私もそんなにいろんな種類のPCを使ったことがあるわけではないので、そう言われるとそう思ってしまいます。  PCを買い換えないで解決方法があればご教授願います。よろしくお願いします。

  • Ctrlキーが押されたことの検出

    コントロールキーを押しながらコマンドボタンを押した時と、単にコマンドボタンを押した時とで、処理を変えようかと考えています。 Application.OnKey "^{}", "ctrl"で、キーを捕まえようかと考えましたが。エラーになります。 で、質問ですが、1つは、Ctrlキー、Shiftキー、Altキーを単体で押したときに任意のプロシージャーを実行することってできますか? 2つ目は、任意のプロシージャーではなく、押されているかどうかの状態のみ調べる方法ってありますか? どなたか、詳しい方教えて頂けないでしょうか?宜しくお願い致します。

  • Ctrlキーが反応しません。。

    お古のノートパソコンを使用しているのですが、 Ctrlキーが反応しません。 右下、左下にありますが、どちらもです。 ショートカットや再起動などができない状態です。 譲り受けた時からそうなのですが、何かの設定で直すことはできないでしょうか? またキーボードが壊れたとしてCtrlキーが2か所とも壊れるということがあるのでしょうか?

  • Ctrl キーが押下状態になる事が頻繁に起こります

    キーボードを変更しても(ワイヤレス・有線問わず)、Ctrl キーが知らない間に押下状態になり、操作が効かなく事が頻繁に起こります。 何回か Ctrl キーを押すと正常に戻るのですが、なんかの拍子に前途の問題が発生します。原因を突き止め正常に戻したいのですがいくら考えても対処方を見いだせません。 どなたかアドバイスお願い致します。 【環境】Windows 7 64bit 【常駐ソフト】avast! 6 Free, ATOK2009, Evernote, DropBox, ArtTips, WINAMP 【ハード】マザー:P-45 Neo-F キーボード:ロジクール K750(ワイヤレス) マウス:MS Optical Mose