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. SSL和TLS漏洞验证

    工具下载:git clone https://github.com/drwetter/testssl.sh.git 实验环境:192.168.1.22(bee-box v1.6) 192.168.1. ...

  2. 《DSP using MATLAB》Problem 8.33

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...

  3. 【bzoj 3489】A simple rmq problem

    题目 \(kdt\)就是数点神器 我们先扫两遍处理出每个数上一次出现的位置\(pre_i,nxt_i\),之后变成\((i,pre_i,nxt_i)\)这样一个三维空间上的点 就变成了求一个立方体的最 ...

  4. python语句结构(控制语句与pass语句)

    python语句结构(控制语句和pass语句) break-跳出循环:语句可以跳出for和while语句的循环体.如果你从for和while循环中终止,任何对应循环的else语块均终止 continu ...

  5. easyui combotree的使用示例

    一.View: 1.定义输入控件 <input id="ParentId" name="ParentId"> 2.绑定combotree $('#P ...

  6. unity3d入门 Demo 学习记录

    闲来学习一下 unity3d 的Demo,记录如下. 官方 Demo,名字为 Roll-A-Ball,如图 场景比较简单,包含地面.玩家精灵.主摄像机.墙壁.可拾取的方块.分数为示 text.平行光源 ...

  7. php socket模拟http中post或get提交数据

    php socket模拟http中post或者get提交数据的示例代码. 代码: sock_post.php: <?php /** * php socket模拟post\get请求 * 编辑:脚 ...

  8. Linux-c线程创建

    { pthread_attr_t attr;//线程属性 , err_sav; if (!pThreadId) { errno = EINVAL; ; } memset(&attr, , si ...

  9. Python全栈开发:html标签

    Html是什么? htyper text markup language 即超文本标记语言 超文本: 就是指页面内可以包含图片.链接,甚至音乐.程序等非文字元素. 标记语言: 标记(标签)构成的语言. ...

  10. 小程序怎样控制rich-text中的<img>标签自适应

    小程序通过rich-text实现字符串转化为html,即 <rich-text node="{{html}}"></rich-text>.如果html字符串 ...