0、首先到自己的工具条上新建一个控件,并命名新ID
1、拷贝FlatComboBox.h和FlatComboBox.cpp到工程目录下 2、建立新类 class CTrackerToolBar : public CToolBar 3、在新类中包含 FlatComboBox.h 4、新变量 public: CFlatComboBox m_ComboTrackerMode; 5、修改原来自定义工具条变量: 修改前: CToolBar m_wndTrackerBar; 修改后: CTrackerToolBar m_wndTrackerBar; 6、在MainFrame.cpp的OnCreate函数中, m_wndTrackerBar.CreateEx(...........); m_wndTrackerBar.EnableDocking(CBRS_ALIGN_ANY);//让自己的控件条可以停靠 DockControlBar(&m_wndTrackerBar);//让控件条显示在主框架上 //---------------------------------------------------------------- //在这里添加下拉控件,动态信息 int index = 0; RECT rect; //找到指定的工具项 while(m_wndTrackerBar.GetItemID(index)!=ID_TRACKER_MODE) index++; //设置指定工具项的宽度并获取新的区域 80是宽度 m_wndTrackerBar.SetButtonInfo(index, ID_TRACKER_MODE, TBBS_SEPARATOR, 150); m_wndTrackerBar.GetItemRect(index, &rect); //设置位置 rect.top+=7; rect.bottom += 200; // 创建并显示 if (!m_wndTrackerBar.m_ComboTrackerMode.Create(WS_CHILD|WS_VISIBLE | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | CBS_HASSTRINGS , rect, &m_wndTrackerBar, ID_TRACKER_MODE)) { TRACE0("Failed to create combo-box\n"); return FALSE; } m_wndTrackerBar.m_ComboTrackerMode.ShowWindow(SW_SHOW); //3 D Stationary;3 D Continuous;6 DoF Stationary Time;6 DoF Continuous Time; m_wndTrackerBar.m_ComboTrackerMode.AddString("3D静态模式"); m_wndTrackerBar.m_ComboTrackerMode.AddString("3D动态模式"); m_wndTrackerBar.m_ComboTrackerMode.AddString("6D静态模式"); m_wndTrackerBar.m_ComboTrackerMode.AddString("6D动态模式"); m_wndTrackerBar.m_ComboTrackerMode.AddString("自动模式"); m_wndTrackerBar.m_ComboTrackerMode.SetCurSel(0); //---------------------------------------------------------------- 7、创建新函数
<pre name="code" class="cpp">void CMainFrame::OnSelectTrackerMode() { CString strContent; m_wndTrackerBar.m_ComboTrackerMode.GetWindowText(strContent); //AfxMessageBox(strContent);
10、运行结果