if (frame.translateOleAccelerator(msg)) {   msg.message = OS.WM_NULL; msg.wParam = 0; msg.lParam = 0; OS.MoveMemory(lParam, msg, MSG.sizeof); return 0;
if (message != OS.WM_KEYDOWN || (msg.wParam != OS.VK_UP && msg.wParam != OS.VK_DOWN && msg.wParam != OS.VK_LEFT && msg.wParam != OS.VK_RIGHT)) { if (frame.translateOleAccelerator(msg)) {   msg.message = OS.WM_NULL; msg.wParam = 0; msg.lParam = 0; OS.MoveMemory(lParam, msg, MSG.sizeof); return 0; }
static int getMsgProc(int code, int wParam, int lParam) {	Display display = Display.getCurrent();	if (display == null) return 0;	Integer hHook = (Integer)display.getData(HHOOK);	if (hHook == null) return 0;	if (code < 0) {		return OS.CallNextHookEx(hHook.intValue(), code, wParam, lParam);	}	MSG msg = (MSG)display.getData(HHOOKMSG);	OS.MoveMemory(msg, lParam, MSG.sizeof);	int message = msg.message;	if (OS.WM_KEYFIRST <= message && message <= OS.WM_KEYLAST) {				if (display != null) {			Widget widget = null;			int hwnd = msg.hwnd;			while (hwnd != 0) {				widget = display.findWidget (hwnd);				if (widget != null) break;				hwnd = OS.GetParent (hwnd);			}			if (widget != null && widget instanceof OleClientSite) {				OleClientSite site = (OleClientSite)widget;				if (site.handle == hwnd) {					OleFrame frame = site.frame;					if (frame.translateOleAccelerator(msg)) {						// In order to prevent this message from also being processed						// by the application, zero out message, wParam and lParam						msg.message = OS.WM_NULL;						msg.wParam = 0;						msg.lParam = 0;						OS.MoveMemory(lParam, msg, MSG.sizeof);						return 0;					}				}			}		}	}	return OS.CallNextHookEx(hHook.intValue(), code, wParam, lParam);}