MenuItem FindSubItemByCoord (Menu menu, Point pnt)
{
foreach (MenuItem item in menu.MenuItems) {
if (item.IsPopup && item.Wnd != null && item.Wnd.Visible && item == menu.SelectedItem) {
MenuItem result = FindSubItemByCoord (item, pnt);
if (result != null)
return result;
}
if (menu.Wnd == null || !menu.Wnd.Visible)
continue;
Rectangle rect = item.bounds;
Point pnt_client = menu.Wnd.PointToScreen (new Point (item.X, item.Y));
rect.X = pnt_client.X;
rect.Y = pnt_client.Y;
if (rect.Contains (pnt) == true)
return item;
}
return null;
}