MFC CToolBar Помощь / Ссылка? - PullRequest
       15

MFC CToolBar Помощь / Ссылка?

2 голосов
/ 24 сентября 2010

Я не могу найти простой пример CToolBar из всех вещей.

Я создал панель инструментов в редакторе ресурсов и загрузил панель инструментов в своем коде так:

toolbar = new CToolBar;
toolbar->CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP, CRect(0, 0, 0, 0), AFX_IDW_TOOLBAR);
toolbar->LoadToolBar(IDR_TOOLBAR);

Я также обработал WM_LBUTTONDOWN в карте сообщений.

Теперь все кнопки выделены серым цветом ... Я где-то пропускаю шаг?

Спасибо за любую помощь / ссылки =)

Ответы [ 2 ]

3 голосов
/ 24 сентября 2010

Кнопки на панели инструментов по умолчанию отключены в MFC. Для каждой кнопки, которая должна быть связана с идентификатором команды, вам нужно иметь макрос ON_UPDATE_COMMAND_UI в вашей карте сообщений. Функция обработчика, которую вы используете в этом макросе, будет вызываться всякий раз, когда приложение бездействует. Эта функция может вызывать функции-члены указателя CCmdUI, передаваемого в функцию, такого как метод Enable.

1 голос
/ 24 сентября 2010

Вы указали обработчик ON_COMMAND на карте сообщений?Должно выглядеть примерно как ON_COMMAND (SOME_BUTTON_ID, OnSomeButton), где SOME_BUTTON_ID соответствует одной из кнопок на панели инструментов.

...