Добавление кнопки раскрывающегося меню на CMFCToolbar - PullRequest
1 голос
/ 20 сентября 2011

Я пытаюсь добавить меню в CMFCToolbar. Следуя советам, которые я нашел в Интернете, я делаю это так:

CMenu m_Menu;

m_Menu.LoadMenu(IDR_MYMENU);

m_Toolbar.ReplaceButton (   ID_DOTHISWHENCLICKED,
                CMFCToolBarMenuButton(  ID_DOTHISWHENCLICKED, 
                            m_Menu, 
                            10,
                            nullptr,
                            FALSE));

Итак, приведенное выше дает мне кнопку со стрелкой раскрывающегося списка. Когда я нажимаю кнопку, она выполняет действие ID_DOTHISWHENCLICKED. Когда я нажимаю стрелку раскрывающегося списка, я получаю меню с одним элементом. Элемент - это заголовок IDR_MYMENU, и у него есть подменю, которое я бы хотел отобразить. Примерно так:

[КНОПКА]

Мое меню

 Submenu Item 1

 Submenu Item 2

 Submenu Item 3

Очевидно, что я хочу видеть:

[КНОПКА]

Элемент подменю 1

Элемент подменю 2

Элемент подменю 3

Итак, мой вопрос ... почему не все пункты меню в IDR_MYMENU в меню, а не находятся в подменю вне его?

Спасибо.

1 Ответ

1 голос
/ 20 сентября 2011

Эта проблема решается просто путем передачи .GetSubMenu (0) -> GetSafeHmenu () вместо соответствующего CMenu при создании кнопки меню.Почему это так, для меня совершенно загадка, и один из тех MFC-механизмов, которые вы знаете, если знаете.

Не уверен, стоит ли удалить этот вопрос или поставить галочку, если он решен, если кто-то еще когда-либо сталкивался с этим.выпуск.

...