注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

mie

 
 
 

日志

 
 

【原】VC 2010:CMFCToolbar工具条中加入组合框  

2010-12-15 22:37:14|  分类: vc界面编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
By:章永辉

以下方法应该是最方便的设置方法。

1.  头文件中,加入类成员变量
protected:
    CMFCToolBarComboBoxEdit m_toolbar_combobox_edit_pages;
    CMFCToolBarComboBoxButton m_toolbar_combobox_button_pages;

2。 构造函数中加入初始化代码:

CViewClient::CViewClient():
m_toolbar_combobox_edit_pages(m_toolbar_combobox_button_pages)
    , m_toolbar_combobox_button_pages(
        ID_COMBOBOX_PAGES,
        -1,
        CBS_DROPDOWN,
        DEFAULT_VIEW_CLIENT_PAGES_COMBOBOX_WIDTH
    )
{
}

CMFCToolBarComboBoxButton 的四个参数:
第一个是控件ID,用于消息映射中;
第二个参数是图像ID,应该是工具条位图中的图像序号,我没有试过。
第三个参数是组合框的类型,默认是CBS_DROPDOWNLIST
第四个参数是组合框的宽度。注意:可以在这里直接设置,不需要重载CMFCToolBarComboBoxButton的!

3. 在视图窗口的OnCreate函数里面,向工具条加入这个组合框控件:

    //插入“页面”组合框
    m_toolbar_combobox_button_pages.EnableWindow(true);
    m_toolbar_combobox_button_pages.SetCenterVert();
    m_toolbar_combobox_button_pages.SetDropDownHeight(25);
    m_toolbar_combobox_button_pages.SetFlatMode();

    m_toolbar_combobox_button_pages.AddItem(_T("1"));
    m_toolbar_combobox_button_pages.AddItem(_T("3"));
    m_toolbar_combobox_button_pages.AddItem(_T("2"));
    m_toolbar_combobox_button_pages.SelectItem(0);
    id=m_wndToolBar.InsertButton(m_toolbar_combobox_button_pages);

至此,组合框添加完毕,但是执行后,组合框没法点击。这是因为没有映射消息处理函数。

4. 加入消息映射函数的声明:
protected:
    afx_msg void OnClickComboBoxPages();

5. 加入消息映射
    ON_COMMAND(ID_COMBOBOX_PAGES, &CViewClient::OnClickComboBoxPages)

6. 实现消息处理函数

void CViewClient::OnClickComboBoxPages()
{
}

7. 实现消息映射,响应组合框选择改变的事件。
(1)声明
protected:
    afx_msg void OnSelChangeComboBoxPages();
(2)消息映射
    ON_CBN_SELCHANGE(ID_COMBOBOX_PAGES, &CViewClient::OnSelChangeComboBoxPages)
(3)函数实现
void CViewClient::OnSelChangeComboBoxPages()
{
//代码省略
}

By: zhanyonhu
  评论这张
 
阅读(5045)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016