]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/accel.cpp
Reverted wxFileSystem changes to image.cpp and dib.cpp
[wxWidgets.git] / src / msw / accel.cpp
index c31731046f5f199746040d46088a69fc6d90c2f1..0e86f39c36e2a29e6f6e05d526145be79fe15b35 100644 (file)
@@ -30,9 +30,7 @@
 
 #include "wx/msw/private.h"
 
-#if !USE_SHARED_LIBRARIES
 IMPLEMENT_DYNAMIC_CLASS(wxAcceleratorTable, wxObject)
-#endif
 
 class WXDLLEXPORT wxAcceleratorRefData: public wxObjectRefData
 {
@@ -110,15 +108,25 @@ wxAcceleratorTable::wxAcceleratorTable(int n, const wxAcceleratorEntry entries[]
     {
         BYTE fVirt = 0;
         if (entries[i].m_flags & wxACCEL_ALT)
+        {
             fVirt |= FALT;
+            fVirt |= FVIRTKEY;
+        }
         if (entries[i].m_flags & wxACCEL_SHIFT)
+        {
             fVirt |= FSHIFT;
+            fVirt |= FVIRTKEY;
+        }
         if (entries[i].m_flags & wxACCEL_CTRL)
+        {
             fVirt |= FCONTROL;
+            fVirt |= FVIRTKEY;
+        }
 
         bool isVirtual;
         WORD key = wxCharCodeWXToMSW(entries[i].m_keyCode, & isVirtual);
-        fVirt |= FVIRTKEY;
+        if (isVirtual)
+            fVirt |= FVIRTKEY;
 
         WORD cmd = entries[i].m_command;
 
@@ -164,5 +172,6 @@ WXHACCEL wxAcceleratorTable::GetHACCEL() const
 bool wxAcceleratorTable::Translate(wxWindow *window, WXMSG *wxmsg) const
 {
     MSG *msg = (MSG *)wxmsg;
+    return Ok() && ::TranslateAccelerator(GetHwndOf(window), GetHaccel(), msg);
+}
 
-    return Ok() && ::TranslateAccelerator(GetHwndOf(window), GetHaccel(), msg); }