当使用BCMenu 时,发现菜单不显示不一致时的处理

本文介绍了一种解决BCMenu在不同环境下显示不一致的问题的方法。通过重载OnMeasureItem函数并调整其内部逻辑来确保菜单项尺寸的一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 当使用网络上的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);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值