嗨,我的单文档MFC应用程序有问题 .
我想将自己的工具栏添加到MainFrm类(CFrameWnd) .
我是MFC的新手 . 所以我不确定甚至是添加它的地方 .
至今:
将创建一个ID为IDR_TOOLBAR1的工具栏资源
ID为ID_SELECT_SHAPE的工具栏按钮
在MainFrm.h中声明了 CToolBar m_wndMyToolBar;
在MainFrm.cpp中:
if (!m_wndMyToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndMyToolBar.LoadToolBar(IDR_TOOLBAR1))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
工具栏现在显示 . 好极了!
但我不知道如何添加事件处理程序 .
有人可以判断我是否走在正确的轨道上?如果是这样,谁可以告诉如何添加该事件?
1 回答
是的,你走在正确的轨道上 . 您的MainFrame.cpp应该有一个以 . 开头的部分
最后以
在该部分内,您将需要一个条目
在.h文件中添加声明
并在.cpp文件中实现OnSelectShape函数来处理您的事件 .
根据处理程序需要执行的操作以及需要处理的数据,可能更容易添加处理程序并在CView ...类而不是CFrameWnd类中实现它 . 处理程序也可以在CDocument ...类中实现 . 单击工具栏按钮时,MFC Doc-View框架将首先在View中查找处理程序 . 如果没有可用的处理程序,它会在Document中查找一个,最后如果没有处理程序,它将在主Frame窗口中查找一个 .