CMFCPopupMenu를 사용하여 마우스 오른쪽 버튼 팝업 메뉴를 만듭니다. 문제는 처음으로 메뉴가 표시 될 때 음영이있는 메뉴 프레임 만 표시되지만 내용은 흰색이라는 것입니다. 두 번째로 메뉴가 표시되면 아무런 문제가 없습니다. 코드는 다음과 같습니다.내용없이 CMFCPopupMenu 메뉴가 표시됩니다.
CPoint point;
::GetCursorPos (&point);
CMFCPopupMenu* pop = new CMFCPopupMenu();
pop->InsertItem(CMFCToolBarMenuButton(ID_COMMAND_1,NULL,-1,_T("Command 1")));
pop->InsertItem(CMFCToolBarMenuButton(ID_COMMAND_2,NULL,-1,_T("Command 2")));
pop->InsertItem(CMFCToolBarMenuButton(ID_COMMAND_3,NULL,-1,_T("Command 3")));
pop->InsertItem(CMFCToolBarMenuButton(ID_COMMAND_4,NULL,-1,_T("Command 4")));
pop->Create(this,point.x,point.y,NULL,0,true);
상위 클래스는 CDialogEx를 기반으로합니다.
감사합니다.
당신이이'()'전'InsertItem()'호출을 만들기 호출하려고 할 수 삽입 한 후 RecalcLayout()를 호출 할 필요하세요? –
나는 그것을 조금 더 노력했다. 이제는 단 한 줄의 빈 메뉴입니다. –
['InsertItem'] (http://msdn.microsoft.com/en-us/library/vstudio/bb982664.aspx)는'const CMFCToolBarMenuButton &'(즉 참조)을 취하므로 버튼을 유지하는 것이 문제가 될 수 있습니다 ? –