gpt4 book ai didi

mfc - 在 MFC CMenu 中绘制图标而不是位图?

转载 作者:行者123 更新时间:2023-12-04 07:11:31 27 4
gpt4 key购买 nike

我可以在菜单中使用位图

CMenu men;
CBitmap b;
b.LoadBitmap(IDB_0);
men.AppendMenu( MF_ENABLED,1,&b);

我可以在 DC 中绘制一个图标
  CImageList IL;
IL.Create(70, 14, ILC_COLOR16 | ILC_MASK, 1, 0);
IL.Add(AfxGetApp()->LoadIcon(IDI_0));
IL.Draw ( pDC, 0, rcIcon.TopLeft(), ILD_BLEND50 );

但是我找不到在菜单中显示图标的简单方法。我想这样做
CMenu men;
CBitmap b;
// here the miracle happens, load the icon into the bitmap
men.AppendMenu( MF_ENABLED,1,&b);

看起来这应该是可能的。

这是与 this 相同的问题.然而,这个问题涉及到 MFC 功能包,没有得到回答,并且一个月没有显示任何事件,所以我认为引用基本 MFC 再次提问是值得的。

最佳答案

我问了你提到的问题。

向菜单添加(普通的 16 位颜色)图标的方法是制作一个工具栏,其资源 id 与您要在其中放置图标的菜单相同。然后您将 id 分配给每个工具栏按钮,与 id 相同菜单项。制作一个向导生成的新 MFC 应用程序,您将看到它是如何工作的。

我发布的问题的答案表明,对于具有透明度的 Feature Pack 工具栏,它应该适用于 32 位图像;不过我还没来得及测试一下。

如果您的具体问题是如何制作动态生成的菜单,我认为您应该在工具栏中传递现有条目的 id,然后将使用该图像。

不是您问题的真正答案,但也许它会为您指明正确的方向。

关于mfc - 在 MFC CMenu 中绘制图标而不是位图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/268499/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com