Enabled context-sensitive help for wxRadioBox
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8416 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
480df2cf57
commit
fac9339629
@ -1025,6 +1025,47 @@ LRESULT APIENTRY _EXPORT wxRadioBtnWndProc(HWND hwnd,
|
||||
}
|
||||
}
|
||||
}
|
||||
#ifdef __WIN32__
|
||||
case WM_HELP:
|
||||
{
|
||||
wxRadioBox *radiobox = (wxRadioBox *)
|
||||
::GetWindowLong(hwnd, GWL_USERDATA);
|
||||
|
||||
wxCHECK_MSG( radiobox, 0, wxT("radio button without radio box?") );
|
||||
|
||||
bool processed = TRUE;
|
||||
|
||||
HELPINFO* info = (HELPINFO*) lParam;
|
||||
// Don't yet process menu help events, just windows
|
||||
if (info->iContextType == HELPINFO_WINDOW)
|
||||
{
|
||||
wxWindow* subjectOfHelp = radiobox;
|
||||
bool eventProcessed = FALSE;
|
||||
while (subjectOfHelp && !eventProcessed)
|
||||
{
|
||||
wxHelpEvent helpEvent(wxEVT_HELP, subjectOfHelp->GetId(), wxPoint(info->MousePos.x, info->MousePos.y) ) ; // info->iCtrlId);
|
||||
helpEvent.SetEventObject(radiobox);
|
||||
eventProcessed = radiobox->GetEventHandler()->ProcessEvent(helpEvent);
|
||||
|
||||
// Go up the window hierarchy until the event is handled (or not)
|
||||
subjectOfHelp = subjectOfHelp->GetParent();
|
||||
}
|
||||
processed = eventProcessed;
|
||||
}
|
||||
else if (info->iContextType == HELPINFO_MENUITEM)
|
||||
{
|
||||
wxHelpEvent helpEvent(wxEVT_HELP, info->iCtrlId) ;
|
||||
helpEvent.SetEventObject(radiobox);
|
||||
processed = radiobox->GetEventHandler()->ProcessEvent(helpEvent);
|
||||
}
|
||||
else processed = FALSE;
|
||||
|
||||
if (processed)
|
||||
return 0;
|
||||
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
return ::CallWindowProc(CASTWNDPROC s_wndprocRadioBtn, hwnd, message, wParam, lParam);
|
||||
|
Loading…
Reference in New Issue
Block a user