MFC 上的 CMenu 边框颜色

CMenu border color on MFC

我有一个 class 继承自 CMenu Owner draw menu

使用这个 class 菜单正确显示,但是,例如,当您打开菜单 FILE 时,您将看到标准菜单颜色的边框和分隔符

我怎样才能把这部分也画成想要的颜色?

在图像下方,您可以看到具有所选颜色(绿色)的文件子菜单和 borders/spacers

上的标准 windows 灰色菜单

使用菜单示例,这可以通过 "AddSubMenus" 函数中的这些代码行实现

MENUINFO MenuInfo = { 0 };
MenuInfo.cbSize = sizeof(MENUINFO);
GetMenuInfo(&MenuInfo);
MenuInfo.hbrBack = ::CreateSolidBrush(RGB(0, 0, 0));
MenuInfo.fMask = MIM_BACKGROUND | MIM_STYLE;
MenuInfo.dwStyle = MIM_APPLYTOSUBMENUS;
SetMenuInfo(&MenuInfo);
tmpmenu.SetMenuInfo(&MenuInfo);