• 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
    ");
           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、运行结果








  • 相关阅读:
    C# TcpServer调试工具
    C#调用百度AI开发平台
    MVC 身份证图像识别(调用dll)
    12.智能快递柜(其他功能)
    智能信报箱
    北斗卫星短信平台
    11.智能快递柜(用户寄件)
    WindowServer优化
    13.智能快递柜(对接流程)
    sublime text3 手动安装插件package control
  • 原文地址:https://www.cnblogs.com/skyhuangdan/p/5486785.html
Copyright © 2020-2023  润新知