SDI在自定义的工具栏上添加下拉控件

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、运行结果








转载于:https://www.cnblogs.com/skyhuangdan/p/5486785.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值