当使用网络上的BCMenu 时,发现菜单不显示不一致时的处理,如右键菜单的 大小不一样,
需要重载下面这函数。
void CMymenuView::OnMeasureItem(int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct)
{
BOOL setflag=FALSE;
if(lpMeasureItemStruct->CtlType==ODT_MENU){
if(IsMenu((HMENU)lpMeasureItemStruct->itemID)&&BCMenu::IsMenu((HMENU)lpMeasureItemStruct->itemID)){
popmenu.MeasureItem(lpMeasureItemStruct);
setflag=TRUE;
}
}
if(!setflag)CView::OnMeasureItem(nIDCtl, lpMeasureItemStruct);
}
本文介绍了一种解决BCMenu在不同环境下显示不一致的问题的方法。通过重载OnMeasureItem函数并调整其内部逻辑来确保菜单项尺寸的一致性。
1513

被折叠的 条评论
为什么被折叠?



