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








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. PAT甲级——A1124 Raffle for Weibo Followers

    John got a full mark on PAT. He was so happy that he decided to hold a raffle(抽奖) for his followers ...

  2. final、static、package、import,和内部类、代码块总结

    final: final是最终修饰符,可以修饰类.成员方法.变量 final修饰的类无法被继承 final修饰的方法无法被重写 final修饰的变量无法被再次赋值,变为了常量 final修饰的引用数据 ...

  3. Web-动态页面

    <!doctype html>01 - JavaEE- JSP - EL&JSTL figure:first-child { margin-top: -20px; } #write ...

  4. 01_springboot2.x之springboot入门

    1.简介 Spring Boot来简化Spring应用开发,约定大于配置, 去繁从简,just run就能创建一个独立的,产品级别的应用. 优点: 1.简化Spring应用开发的一个框架: 2.整个S ...

  5. java-day09

    接口 就是一种公共规范标准,只要符合规范标准,就可以大家通用,多个类的公告规范,引用数据类型 格式 public interface 接口名称{} 接口都能定义抽象方法 public abstract ...

  6. 使用vue-cli搭建vue项目简单教程

    一直没有时间来写些东西,今天就写写vue脚手架吧,初建一个vue项目. vue是近段时间来特别火的一个mvvm框架,小巧.简单.易学,如果你的前端基础还好的话,学起来挺简单的.官网地址: https: ...

  7. SpringCloud学习笔记《---03 Ribbon---》基础篇

  8. Oracle如何用单字段或多字段进行查重

    最近在整理数据形成信用报告,发现重复的数据真的多,梳理都好久.我就做个笔记把去掉重复数据的方法整理下来.方便我后期查阅. 我将我目前已知的两种去重方法分为:视图去重和表去重.原理就是有无rowid这个 ...

  9. JS数组 一起组团(什么是数组)一个数组变量可以存放多个数据

    一起组团(什么是数组) 我们知道变量用来存储数据,一个变量只能存储一个内容.假设你想存储10个人的姓名或者存储20个人的数学成绩,就需要10个或20个变量来存储,如果需要存储更多数据,那就会变的更麻烦 ...

  10. 日志服务Python消费组实战(二):实时分发数据

    场景目标 使用日志服务的Web-tracking.logtail(文件极简).syslog等收集上来的日志经常存在各种各样的格式,我们需要针对特定的日志(例如topic)进行一定的分发到特定的logs ...