1

在 WTL 中使用 CreateSimpleReBar 时,主菜单栏在鼠标悬停时具有这种蓝色,而不是原生 vista/7 圆形和透明形状。同样出于某种原因,菜单栏似乎比通常的本地菜单栏高。

CreateSimpleReBar 是自己绘制菜单还是我遗漏了什么?

http://imageshack.us/photo/my-images/259/wtlmainmenu.png/

HWND hWndCmdBar = m_CmdBar.Create(m_hWnd, rcDefault, NULL, ATL_SIMPLE_CMDBAR_PANE_STYLE);
// attach menu
m_CmdBar.AttachMenu(GetMenu());

// load command bar images
m_CmdBar.LoadImages(IDR_MAINFRAME);
// remove old menu
SetMenu(NULL);

// Set m_hWndToolBar member
CreateSimpleReBar(ATL_SIMPLE_REBAR_NOBORDER_STYLE);

// Add a band to the rebar represented by m_hWndToolBar
AddSimpleReBarBand(hWndCmdBar);
4

1 回答 1

1

CreateSimpleReBar创建一个钢筋控件,菜单是钢筋带之一,由m_CmdBar.Create- WTL 的CCommandBarCtrl类创建。后者自定义绘制菜单以模仿操作系统行为,包括使用COLOR_MENUHILIGHT(atlctrlw.h) 突出显示蓝色。

于 2012-04-10T07:54:16.843 回答