#include "wx/accel.h"
+#if wxUSE_ACCEL
+
#include "wx/msw/private.h"
IMPLEMENT_DYNAMIC_CLASS(wxAcceleratorTable, wxObject)
wxAcceleratorRefData::wxAcceleratorRefData()
{
- m_ok = FALSE;
+ m_ok = false;
m_hAccel = 0;
}
{
if (m_hAccel)
{
- // This function not available in WIN16
-#if !defined(__WIN16__)
DestroyAcceleratorTable((HACCEL) m_hAccel);
-#endif
}
m_hAccel = 0 ;
}
M_ACCELDATA->m_ok = (hAccel != 0);
}
-extern int wxCharCodeWXToMSW(int id, bool *isVirtual);
+extern WXWORD wxCharCodeWXToMSW(int id, bool *isVirtual);
// Create from an array
-#if !defined(__WIN16__)
wxAcceleratorTable::wxAcceleratorTable(int n, const wxAcceleratorEntry entries[])
{
- // Not available in WIN16
m_refData = new wxAcceleratorRefData;
ACCEL* arr = new ACCEL[n];
arr[i].fVirt = fVirt;
arr[i].key = key;
- arr[i].cmd = entries[i].GetCommand();
+ arr[i].cmd = (WORD)entries[i].GetCommand();
}
M_ACCELDATA->m_hAccel = ::CreateAcceleratorTable(arr, n);
M_ACCELDATA->m_ok = (M_ACCELDATA->m_hAccel != 0);
}
-#else // Win16
-wxAcceleratorTable::wxAcceleratorTable(int WXUNUSED(n), const wxAcceleratorEntry WXUNUSED(entries)[])
-{
- // No, we simply gracefully degrade; we don't expect the
- // developer to pepper their code with #ifdefs just for this.
- // wxFAIL_MSG("not implemented");
-}
-#endif // Win32/16
bool wxAcceleratorTable::Ok() const
{
return Ok() && ::TranslateAccelerator(GetHwndOf(window), GetHaccel(), msg);
}
+#endif