Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Создание меню программой


Автор: dark_religion 22.10.2006, 01:54
Кто может подсказать как создать с помощью программы кнопку на тулбаре если нужно что бы эту кнопку создавала функция находящасяса в отдельном классе! И что бы при нажатии на кнопку вызывалась произвольная функция! С ПОМОЩЬЮ MFC!

Автор: Earnest 23.10.2006, 15:20
Сначала нужно получить доступ к CToolBarCtrl (предполагаю, что есть объект CToolBar toolBar):
Код

CToolBarCtrl& barCtrl = toolBar.GetToolBarCtrl() ;

Потом добавить картинок для новых кнопок: 
Код

barCtrl.AddBitmap (bmpCnt, BmpID);

Потом заполнить структуру TBBUTTON и добавить кнопки.
Код

TBBUTTON tbb;
//...
barCtrl.InsertButton (iPos, &tbb);

Потом, по-хорошему, нужно пересчитать layout фрейма:
Код

   if (toolBar.IsVisible())
      toolBar.GetParentFrame()->RecalcLayout () ;

А вызвать что - какой командный ид-р присвоишь кнопке, то и получишь в обработчике WM_COMMAND. Ну и вызывай, что надо.

Добавлено @ 15:26 
Почему тема называется "создание меню?"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)