OSDN Git Service

OpenView.*: PreTranslateMessage() is still needed for Alt+1, Alt+S, and so on. (relat...
authorTakashi Sawanaka <sdottaka@users.sourceforge.net>
Fri, 4 Jan 2019 07:05:59 +0000 (16:05 +0900)
committerTakashi Sawanaka <sdottaka@users.sourceforge.net>
Fri, 4 Jan 2019 07:05:59 +0000 (16:05 +0900)
Src/OpenView.cpp
Src/OpenView.h

index 08f519f..6af2a91 100644 (file)
@@ -1357,3 +1357,28 @@ void COpenView::OnDropFiles(const std::vector<String>& files)
                UpdateButtonStates();
        }
 }
+
+BOOL COpenView::PreTranslateMessage(MSG* pMsg)\r
+{\r
+       if (pMsg->message == WM_SYSKEYDOWN)\r
+       {\r
+               if (::GetAsyncKeyState(VK_MENU))\r
+               {\r
+                       UINT id = 0;\r
+                       switch (pMsg->wParam)\r
+                       {\r
+                       case '1': id = IDC_PATH0_COMBO; goto LABEL_NUM_KEY;\r
+                       case '2': id = IDC_PATH1_COMBO; goto LABEL_NUM_KEY;\r
+                       case '3': id = IDC_PATH2_COMBO;\r
+                       LABEL_NUM_KEY:\r
+                               SetDlgItemFocus(id);\r
+                               return TRUE;\r
+                       case 's':\r
+                       case 'S': id = IDC_SELECT_FILTER;\r
+                               PostMessage(WM_COMMAND, MAKEWPARAM(id, BN_CLICKED), (LPARAM)(GetDlgItem(id)->m_hWnd));\r
+                               return TRUE;\r
+                       }\r
+               }\r
+       }\r
+       return CFormView::PreTranslateMessage(pMsg);\r
+}
index 14138d1..6176f4a 100644 (file)
@@ -102,6 +102,7 @@ protected:
        virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
        virtual void OnInitialUpdate(); // called first time after construct
        virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint);
+       virtual BOOL PreTranslateMessage(MSG* pMsg);
 
 // Implementation
 public: