0、首先到自己的工具条上新建一个控件,并命名新ID


  1. 1、拷贝FlatComboBox.hFlatComboBox.cpp到工程目录下
  2. 2、建立新类 class CTrackerToolBar : public CToolBar
  3. 3、在新类中包含 FlatComboBox.h
  4. 4、新变量
  5. public:
  6. CFlatComboBox m_ComboTrackerMode;
  7.  
  8. 5、修改原来自定义工具条变量:
  9. 修改前:
  10. CToolBar m_wndTrackerBar;
  11. 修改后:
  12. CTrackerToolBar m_wndTrackerBar;
  13.  
  14. 6、在MainFrame.cppOnCreate函数中,
  15. m_wndTrackerBar.CreateEx(...........);
  16. m_wndTrackerBar.EnableDocking(CBRS_ALIGN_ANY);//让自己的控件条可以停靠
  17. DockControlBar(&m_wndTrackerBar);//让控件条显示在主框架上
  18. //----------------------------------------------------------------
  19. //在这里添加下拉控件,动态信息
  20. int index = 0;
  21. RECT rect;
  22.  
  23. //找到指定的工具项
  24. while(m_wndTrackerBar.GetItemID(index)!=ID_TRACKER_MODE)
  25. index++;
  26.  
  27. //设置指定工具项的宽度并获取新的区域 80是宽度
  28. m_wndTrackerBar.SetButtonInfo(index, ID_TRACKER_MODE, TBBS_SEPARATOR, 150);
  29. m_wndTrackerBar.GetItemRect(index, &rect);
  30.  
  31. //设置位置
  32. rect.top+=7;
  33. rect.bottom += 200;
  34.  
  35. // 创建并显示
  36. if (!m_wndTrackerBar.m_ComboTrackerMode.Create(WS_CHILD|WS_VISIBLE | CBS_AUTOHSCROLL |
  37. CBS_DROPDOWNLIST | CBS_HASSTRINGS ,
  38. rect, &m_wndTrackerBar, ID_TRACKER_MODE))
  39. {
  40. TRACE0("Failed to create combo-box\n");
  41. return FALSE;
  42. }
  43. m_wndTrackerBar.m_ComboTrackerMode.ShowWindow(SW_SHOW);
  44.  
  45. //3 D Stationary;3 D Continuous;6 DoF Stationary Time;6 DoF Continuous Time;
  46. m_wndTrackerBar.m_ComboTrackerMode.AddString("3D静态模式");
  47. m_wndTrackerBar.m_ComboTrackerMode.AddString("3D动态模式");
  48. m_wndTrackerBar.m_ComboTrackerMode.AddString("6D静态模式");
  49. m_wndTrackerBar.m_ComboTrackerMode.AddString("6D动态模式");
  50. m_wndTrackerBar.m_ComboTrackerMode.AddString("自动模式");
  51. m_wndTrackerBar.m_ComboTrackerMode.SetCurSel(0);
  52.  
  53. //----------------------------------------------------------------
  54.  
  55. 7、创建新函数
  1. <pre name="code" class="cpp">void CMainFrame::OnSelectTrackerMode()
  2. {
  3. CString strContent;
  4. m_wndTrackerBar.m_ComboTrackerMode.GetWindowText(strContent);
  5. //AfxMessageBox(strContent);
  1.  

10、运行结果








SDI在自定义的工具栏上添加下拉控件的更多相关文章

  1. scrollview嵌套下拉控件嵌套recyclerview(不动第三方原基础自定义)

    相信会碰到很多类似的需求,一个列表控件,然后控件上方的一个头部需要自定义,这样就不好有时候也不能加在列表控件的头部了,那必须得嵌套一层scrollview了,没毛病,那么一般的列表控件都是有上拉下拉的 ...

  2. 使用谷歌提供的SwipeRefreshLayout下拉控件,并自定义实现下拉加载的功能

    package com.loaderman.swiperefreshdemo; import android.os.Bundle; import android.os.Handler; import ...

  3. 基于bootstrap的multiple-select下拉控件使用

    multiple-select是一款优秀的下拉菜单控件,能够支持单选和多选. 详细参考文档: JS组件系列——两种bootstrap multiselect组件大比拼 multiple-select ...

  4. 一不小心写了个bootstrap风格下拉控件 JqueryUI + bootstrap

    受够了EasyUI的封闭,Bootstrap虽然华丽但是功能太渣,闲着无聊写个下拉控件玩玩吧,不喜勿喷哈... 第一步:先设计下我的下拉控件的样子 1.既然是bootstrap风格的,我想应该是这样的 ...

  5. 下拉控件jQuery插件

    由于后端开发需要一个下拉控件,能输入,能选择,于是自己写了一个 ;(function($,window,document,undefined){ function Select(el,opt){ th ...

  6. DevExpress控件GridView挂下拉控件无法对上值

    下拉控件使用RepositoryItemLookUpEdit,加入如下事件进行处理. repositoryItemLookUpEdit1.CustomDisplayText += new DevExp ...

  7. 解决easyUI下拉控件无法触发onkeydown事件

    实现在combotree下拉控件中按Backspace键清除combotree选中的值 下面的代码无法获取到键盘事件 <input class="easyui-combotree&qu ...

  8. iOS: 获取UITableViewCell上添加的子控件对应的cell

    一.简单介绍 UITableViewCell是UITableView的核心部分,我们在开发中因为功能的扩展经常需要自定义,以便在其上面添加子控件,例如button.label等.添加后获取这些子控件的 ...

  9. WPF自定义下拉控件

    可以搜索的下拉条 using System; using System.Collections; using System.Collections.Generic; using System.Coll ...

随机推荐

  1. Vue基础(1)

    目录 Vue基础 基础 导入 1. 挂载 2. 插值表达式 3. 事件 4. 创建对象 5. v-text和v-html 6. vue的过滤器 7. 属性指令 Vue基础 基础 首先我们要知道Vue是 ...

  2. (转)Nginx+Php-fpm运行原理详解

    一.代理与反向代理 现实生活中的例子 1.正向代理:访问google.com 如上图,因为google被墙,我们需要vpn翻墙才能访问google.com. vpn对于“我们”来说,是可以感知到的(我 ...

  3. 如何快速合并多个TXT文本内容

    工作中有时候需要合并很多文本内容,例如一些推送清单之类,一个一个打开去复制粘贴的话,少量还行,如果txt文本数据量大(10+M以上)且文件数量多(成百上千),这种方式就显得很低效了.具体要求如下:   ...

  4. python3 使用aria2下载的一个脚本

    import requests import time ariaurl="http://localhost:6800/jsonrpc" dlurl="http://xxx ...

  5. Android开发 StateListDrawable详解

    前言 StateListDrawable是与xml中的selector属性对应代码实现类,它需要配合GradientDrawable的使用,如果你还不了解GradientDrawable可以参考我的另 ...

  6. 常用DOM API总结

    一. 获取节点 1. 获取元素节点 getElementsById getElementsByTagName getElementsByClassName 2. 获取属性节点 getAttribute ...

  7. MaxCompute安全管理指南-案例篇

    通过<MaxCompute安全管理-基础篇>了解到MaxCompute和DataWorks的相关安全模型.两个产品安全方面的关联,以及各种安全操作后,本篇主要给出一些安全管理案例,给安全管 ...

  8. 用C++Builder在Windows开始按钮上绘图制作方法

    熟悉Windows操作系统的软件设计人员知道,在Win95/98/NT/2000中有一任务栏(Task Bar)程序,路径为:C:\WINDOWS\SYSTEM\SYSTRAY.EXE(假设你的Win ...

  9. django-rest-framework-jwt的使用

    一简介 JWT 是一个开放标准(RFC 7519),它定义了一种用于简洁,自包含的用于通信双方之间以 JSON 对象的形式安全传递信息的方法.该信息可以被验证和信任,因为它是数字签名的.JWTS可以使 ...

  10. 服务器重启,自动重启httpd

    1. 手动重启 cd http ll cd /etc/httpd/   ll service httpd restart 2. 查看服务器内存使用情况 df -h 3. 自动重启 cat /etc/i ...