2008/09/26
Popup Menu에 UpdateCommandUI Handler동작 시키기
이벤트 핸들러 없이 UpdateCommandUI Handler 만 있는 팝업 메뉴
메인 메뉴와는 다르게 팝업 메뉴에는 자동으로 UpdateCommandUI Handler 가 동작을 하지 않는다. 아래 내용을 팝업 메뉴에 UpdateCommandUI Handler 가 동작 하도록하는 코드이다.
void CtestView::OnRButtonUp(UINT nFlags, CPoint point){ CMenu menu; menu.LoadMenu( IDR_POPUP ); CMenu* pPopup = menu.GetSubMenu( 0 ); // UpdateCommandUI Handler 호출 for (UINT i = 0; i < pPopup->GetMenuItemCount(); i++) { CCmdUI state; state.m_nIndexMax = pPopup->GetMenuItemCount(); state.m_nIndex = i; state.m_nID = pPopup->GetMenuItemID(i); state.m_pMenu = pPopup; state.DoUpdate(this, TRUE); } CPoint ptPopup = point; ClientToScreen( &ptPopup ); pPopup->TrackPopupMenu( TPM_LEFTALIGN, ptPopup.x, ptPopup.y, this ); CView::OnRButtonUp(nFlags, point);}void CtestView::OnUpdateMypopupPopup1(CCmdUI *pCmdUI){ pCmdUI->Enable( TRUE );}void CtestView::OnUpdateMypopupPopup2(CCmdUI *pCmdUI){ pCmdUI->Enable( FALSE );}
코드적용 후 팝업 메뉴
Labels:
popup menu
,
TistoryOldPost
,
UpdateCommandUI Handler
,
UpdateUI Handler
,
Visual C++
,
팝업메뉴
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment