标题当前位置对话中的菜单(Zeigt nach verfügbarkeit)
终极管理员 知识笔记 112阅读
//坐请坐吧.关于基础教育的信息议员映射下面的functionen : voidc * * * DLG : onupdatemenulogin(CCM dui * PCM dui){//todo : addyourcommandudateuiihandlercoderepcmdui-Enable(mmenuactive0x 01);)//Sie knnen das Feature-Handbuch in die Dialoge Ihres HostsbergebenvoidC * * * DLG : on initmenupopup(CMenu * ppopupmun,UINTnIndex,BOOLbSysMenu){if(!bsys menu){ ASSERT(pPopupMenu)nbsp。=NULL);//checktheenabledstateoffvariousmenuitemsccmduistate;state.m _ pMenu=pPopupMenuassert(state . m _ pOther==NULL);state . m _ nIndexMax=pPopupMenu-GetMenuItemCount();for(state . m _ nIndex=0);state . m _ nindex state . m _ nindex max;state . m _ nIndex){ state . m _ nID=pPopupMenu-GetMenuItemID(state . m _ nIndex);if(state.m_nID)
n style="color: rgba(0, 0, 0, 1)">0/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">)/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">continue/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">; /span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)">///span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)"> menu separator or invalid cmd - ignore it/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)"/span>/span>/span>/span>/span>/span>br/span>/span>/span>/span>/span>/span>/span/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">
ASSERT(state.m_pOther /span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">==/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> NULL);
ASSERT(state.m_pMenu /span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">!=/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> NULL);
/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">if/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> (state.m_nID /span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">==/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> (UINT)/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">-/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">1/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">)
{
/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)">///span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)"> possibly a popup menu, route to first item of that popup/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)"/span>/span>/span>/span>/span>/span>br/span>/span>/span>/span>/span>/span>/span/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> state.m_pSubMenu /span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">=/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> pPopupMenu/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">->/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">GetSubMenu(state.m_nIndex);
/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">if/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> (state.m_pSubMenu /span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">==/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> NULL /span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"/span>/span>/span>/span>span class="xzm_is" data-txt="#7C#7C"/span>/span>/span>/span>/span/span>/span>/span>/span>/span/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"/span>/span>/span>/span>/span>/span>br> (state.m_nID /span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">=/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> state.m_pSubMenu/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">->/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"/span>/span>/span>/span>/span>(/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">0/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">)) /span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">==/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> /span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">0/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> /span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"/span>/span>/span>/span>span class="xzm_is" data-txt="#7C#7C"/span>/span>/span>/span>/span/span>/span>/span>/span>/span/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"/span>/span>/span>/span>/span>/span>br> state.m_nID /span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">==/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> (UINT)/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">-/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">1/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">)
{
/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">continue/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">; /span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)">///span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)"> first item of popup can't be routed to/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)"/span>/span>/span>/span>/span>/span>br/span>/span>/span>/span>/span>/span>/span/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> }
state.DoUpdate(/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">this/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">, FALSE); /span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)">///span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)"> popups are never auto disabled/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)"/span>/span>/span>/span>/span>/span>br/span>/span>/span>/span>/span>/span>/span/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> }
/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">else/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"/span>/span>/span>/span>/span>/span>br> {
/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)">///span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)"> normal menu item
/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)">///span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)"> Auto enable/disable if command is _not_ a system command/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)"/span>/span>/span>/span>/span>/span>br/span>/span>/span>/span>/span>/span>/span/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> state.m_pSubMenu /span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">=/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> NULL;
state.DoUpdate(/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">this/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">, state.m_nID /span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"></span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> /span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">0xF000/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">);
}
}
}
}
/span>/span>/span>/span>/span>/span>/span/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)">///span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)">还得添加消息映射:/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)"/span>/span>/span>/span>/span>/span>br/span>/span>/span>/span>/span>/span>/span/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">BEGIN_MESSAGE_MAP(CcontrolDlg, CDialog)
ON_WM_INITMENUPOPUP()
END_MESSAGE_MAP()
/span>/span>/span>/span>/span>/span>br/span>/span>/span>/span>/span>/span>/span/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)">///span>/span>/span>/span>/span>/span>span style="color: rgba(0, 128, 0, 1)">现在便会按照你要打开菜单时它的可用性而显示是否变灰:)
/span>/span>/span>/span>/span>/span>/div>

标签: