Я пробую некоторые из новых функциональных возможностей MFC и хочу то же самое, что делает проект TrayMenu из примеров языка Visual C ++ для Visual Studio 2010, но на моей машине (не знаю, находится ли он только на моей машине, я пытаюсь чтобы найти ту же проблему в Интернете, но не нашел никакого подобного отчета !!!) меню появляется на фоне нового win7 traynotifywwnd, и я не могу заставить его работать правильно:
Код прост:
void CTrayMenuDlg::OnTrayContextMenu ()
{
CPoint point;
::GetCursorPos (&point);
CMenu menu;
menu.LoadMenu (IDR_MENU1);
CMFCPopupMenu::SetForceShadow (TRUE);
HMENU hMenu = menu.GetSubMenu (0)->Detach ();
CMFCPopupMenu* pMenu = theApp.GetContextMenuManager()->ShowPopupMenu(hMenu, point.x, point.y, this, TRUE);
pMenu->SetForegroundWindow ();
}
Я думаю, что SetForegroundWindow - это решение проблемы, но оно не работает, оно все еще отображается под окном, где все значки в трее скрыты и отображаются, когда мы нажимаем маленькую стрелку (обратите внимание, что если значок отображается в ToolbarWindow32 - не скрыто - и мы вызываем контекстное меню в трее, тогда все работает нормально, эта проблема появляется, только если значок скрыт и отображается с помощью маленькой стрелки в ToolbarWindow32, а окно отображается со скрытыми значками - это окно, которое находится перед моим контекстным меню ...)
Кто-нибудь нашел эту проблему? и есть ли решение этой проблемы?
Спасибо