@Override LRESULT WM_NCHITTEST (int /*long*/ wParam, int /*long*/ lParam) { LRESULT result = super.WM_NCHITTEST (wParam, lParam); if (result != null) return result; /* * Feature in Windows. The window proc for the group box * returns HTTRANSPARENT indicating that mouse messages * should not be delivered to the receiver and any children. * Normally, group boxes in Windows do not have children and * this is the correct behavior for this case. Because we * allow children, answer HTCLIENT to allow mouse messages * to be delivered to the children. */ int /*long*/ code = callWindowProc (handle, OS.WM_NCHITTEST, wParam, lParam); if (code == OS.HTTRANSPARENT) code = OS.HTCLIENT; return new LRESULT (code); }
@Override LRESULT WM_NCHITTEST (int /*long*/ wParam, int /*long*/ lParam) { LRESULT result = super.WM_NCHITTEST (wParam, lParam); if (result != null) return result; /* * Feature in Windows. The tab control implements * WM_NCHITTEST to return HTCLIENT when the cursor * is inside the tab buttons. This causes mouse * events like WM_MOUSEMOVE to be delivered to the * parent. Also, tool tips for the tab control are * never invoked because tool tips rely on mouse * events to be delivered to the window that wants * to display the tool tip. The fix is to call the * default window proc that returns HTCLIENT when * the mouse is in the client area. */ int /*long*/ hittest = OS.DefWindowProc (handle, OS.WM_NCHITTEST, wParam, lParam); return new LRESULT (hittest); }