メニューバーのショートカットキー(Win32API)

このQ&Aのポイント
  • メニューバーのショートカットキーについて Win32APIを使用して作成したメニューバー付きウィンドウズアプリケーションで、ポップアップを開くショートカットキーが思うように機能しない問題が発生しました。Altキーを押しっぱなしのままショートカットキーを押してもポップアップが開かず、Altキーを押してからショートカットキーを押す必要があります。他のアプリケーションではAltキーを押しっぱなしのままポップアップを開けるため、他に解決方法はないか教えていただきたいです。
  • メニューバーのショートカットキーに関する問題 Win32APIを使用してメニューバーが付いたウィンドウズアプリケーションを開発していますが、ポップアップを開くショートカットキーがうまく機能しません。Altキーを押しっぱなしのままショートカットキーを押してもポップアップが開かず、Altキーを押してからショートカットキーを押す必要があります。他のアプリケーションではAltキーを押しっぱなしのままポップアップを開けるため、解決策をご教示いただきたいです。
  • Win32APIを使用したメニューバーのショートカットキーの問題 Win32APIを使用して作成したメニューバー付きウィンドウズアプリケーションで、ポップアップのショートカットキーが思うように機能しません。Altキーを押しっぱなしのままショートカットキーを押してもポップアップが開かず、Altキーを押してからショートカットキーを押す必要があります。他のアプリケーションではAltキーを押しっぱなしのままポップアップを開ける方法について、教えていただけないでしょうか?
回答を見る
  • ベストアンサー

メニューバーのショートカットキー(Win32API)

リソーススクリプトとWin32APIでメニューバーの付いているウィンドウズアプリケーションを作りました。 メニュー内のポップアップはAlt+キーで開けるように"ポップアップの文字列(&H)"としておいたのですが、実際にショートカットで開こうとすると、Alt押しっぱなし+キーでは開けず、Altを押してメニューバーを選択状態にした後にキーで選択する、といった風にしか開けませんでした。 しかし多くのアプリケーションではAlt押しっぱなし+キーでもポップアップが開けます。そうする為にはWM_SYSKEYDOWNを処理してポップアップを開くようにする以外に方法はないでしょうか? 回答よろしくお願いします。

noname#113783
noname#113783

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

  • ベストアンサー
回答No.1

一般的にはリソース内にアクセラレータを作成します。 で、メッセージループにTranslateMessageだったか、関数を入れてやらなければならなかったと思います。 「WIN API アクセラレータ」などで検索すると参考になるサイトが見つかると思います。

noname#113783
質問者

お礼

できました! 今までTranslateMessage()はあまり使わないと思っていましたが、こんな所で使うんですね。 回答ありがとうございました。

関連するQ&A

  • VC++でメニューをアクティブにしたいのですが・・・。

    メニューバーのあるアプリケーションを起動し、Altキーを1回押すとメニューバーの一番左のメニューが、選択状態になりますが、 プログラム(VC++)でこの状態にする方法はあるのでしょうか?

  • スクリーンからはみ出ないポップアップ(win32api)

    win32apiでアプリケーションを作っています。 右クリックしたときに表示されるポップアップメニューがスクリーンからはみ出ないように、右クリックされた時にポップアップがはみ出るようならポップアップの位置を調整する、ということをしたいです。 その為には表示されるポップアップのサイズが分からないといけないのですが、ポップアップのサイズを得る方法はありますか?大体でやってしまってもあまり問題はないかもしれませんが。 回答よろしくお願いします。

  • エクセル メニューバーの名称について

    以前、エクセルの本の中でキーボードのみで操作するときに メニューバーのファイル(F)から Ctrl+T、Alt等を使って 開くための言葉が分かりません。どうしても思い出せません。 私は初めて見た言葉でした。あまり浸透していないように思います。 うまく説明出来なくてすみません。約カタカナ10文字くらいでした。 ちなみに以下の言葉ではありません。 ・メニューバー ・ショートカットキー ・ポップアップメニュー  分かる方何卒よろしくお願い致します。  

  • メニューバーの項目が消えた

    エクセルのメニューバーの編集と書式の項目が消えました。原因がわかりませんが、Keyboard Controller Failureと出るのですが、そのせいでおかしくなったのでしょうか。ワードはまだ大丈夫です。 又、ワードもエクセルもKeyboardのShiftやCtrlやAltキーを押したとき、ツールバーやメニューバーなどがロックされます。その時、Shift/Ctrl/Altのどれかのキーを押していたら、ロックが解除になりますが、どうすればいいのでしょうか。たすけて!

  • メニューバーのメニューメッセージについて

    メニューバーのメニューの上にマウスが乗った時にWM_MENUSELECT が送られてくるのはわかったのですが、下記のリソースファイルで※1や※2のところで同じようにマウスが乗った時かどうかを調べるにはどうしたらいいですか? ステータスバーに文字を表示したいのですが、※1や※2のところの場合はどうしたらいいのかわかりません。 //リソースファイル IDR_ID1 MENU BEGIN  POPUP "ファイル"//※1  BEGIN    MENUITEM "新規" IDM_1     POPUP "オプション"//※2     BEGIN       MENUITEM "項目1"  IDM_2     END  END END // あと、VisualStudio2010で開発していて、MFCは使用していません。 よろしくお願いします。

  • メニューバーが消えてしまう

    インストールの準備が出来たと言うので言われるままにインストールしました(IE7です)いろいろやっていたらメニューバーが表示しなくなりました、Altキーを押すと表示しますが、何かをクリックすると消えます、常に表示させる方法を知っている方宜しくお願いします。

  • スリープのショートカットキーを作りたい

    キーボードショートカットでescキー、またはF13キーをスリープに設定したいと思ってます。 この場合、キーボードショートカット画面のアプリケーションはどれを選択すればいいのでしょう? メニュータイトルは「スリープ」でいいんです・・・か? またescキーやF13などののショートカットはなんと記入すればいいのでしょう? スリープキーのショートカット化を教えてください。OSXです。

    • ベストアンサー
    • Mac
  • メニューバーにキーボードから

    いつもお世話になっております。 質問なのですが、アプリケーションを開いているときに上のメニューバーからメニューを選びたい時、マウスポインターではなくキーボードショートカットを使ってメニューバーにアクセスできないでしょうか? あと、ちょっとマニアックな質問ですが、ターミナルを複数窓で使用しているときにキーボードで切り替える方法があれば教えていただければと思います。

    • ベストアンサー
    • Mac
  • WLM2011のメニュー バーの表示

    Windows Live メール2011 です。 [alt」キーで、メニューバーが表示できません。

  • ショートカットキーについて、教えてください。

    こんばんは。お世話になります。 エクスプローラなどで、ファイルを選択する際、矢印きーを押すと次々と選択しているファイルが変わりますが、何も選択されていない状態にしたいのです。結論を言うと、何も選択されていない状態にしてから、右クリックのショートカットメニューを出したいのです。 それともう1つあるのですが、エクスプローラをいくつも開いていて、Alt + F4キーで画面を連続して閉じようとすると、最初の画面を閉じた後、Alt + F4を押すと、Windowsの終了選択が起動してしまいます。要するに2番目の画面にフォーカスを当てたいのですが、どうすれば良いのでしょうか? 誰か分かる方がお見えでしたら、教えてください。よろしくお願いします。

専門家に質問してみよう