1
WTLでCreateSimpleReBarを使用すると、メインメニューバーには青色のマウスが表示され、ネイティブVista/7ラウンドではなく透明なシェイプが表示されます。何らかの理由でメニューバーが普通のネイティブのものよりも背が高いように見えます。WTLビューア/ 7ネイティブルックアンドフィールでCreateSimpleReBar
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);
CCommandBarCtrlはowner-drawを使用してメニューを描画しています。新しいWindowsのバージョンに適応するための非常に良い方法ではありません。おそらく、SetMenuItemBitmaps()を使用できますか? – user555
あなたは選択肢があります。カスタム描画されたコマンドバーを含む標準メニュー(古い学校)はまだそれほど悪くない、派手なリボンです。 –
私はwin32のAPIで手を汚し、SetMenuItemInfo()を使って手を動かしました。 http://pastebin.com/Ba2TCH7Q – user555