Revert "Allow WM_SYSKEYDOWN to still be processed by MSWDefWindowProc, even if"
This reverts commit e771b7e4ac5c7f73a579f7329ce15e2d6710670d. Don't always pass WM_SYSKEYDOWN to the system for processing as this can be undesirable: e.g. inside a dialog, any Alt-X key presses with X not being a mnemonic character result in a beep from IsDialogMessage(). Handle events for the system keys in the same way as for the normal ones, i.e. let the system process them only if they're not handled by the application. This is incompatible with the previous wxMSW behaviour, but compatible with the other ports and makes more sense, so it seems to be worth it, on balance.
This commit is contained in:
parent
fe6ebc528d
commit
d1175c00e1
@ -42,6 +42,12 @@ Changes in behaviour not resulting in compilation errors
|
||||
anymore and GetOrCreateAccessible() may return NULL, indicating that native
|
||||
system-provided accessibility should be used.
|
||||
|
||||
- wxMSW port doesn't always let the system process WM_SYSKEYDOWN events any
|
||||
more, make sure to call event.Skip() in your wxEVT_KEY_DOWN and/or wxEVT_CHAR
|
||||
event handlers if you want the standard key combinations such as Alt-Space or
|
||||
Alt-F4 to work.
|
||||
|
||||
|
||||
Changes in behaviour which may result in build errors
|
||||
-----------------------------------------------------
|
||||
|
||||
|
@ -3258,8 +3258,6 @@ wxWindowMSW::MSWHandleMessage(WXLRESULT *result,
|
||||
processed = HandleWindowEvent(event);
|
||||
}
|
||||
}
|
||||
if (message == WM_SYSKEYDOWN) // Let Windows still handle the SYSKEYs
|
||||
processed = false;
|
||||
break;
|
||||
|
||||
case WM_SYSKEYUP:
|
||||
|
Loading…
Reference in New Issue
Block a user