工具栏上创建ComboBox组合框控件,框架响应消息
来源:互联网 发布:bootstrap modal.js 编辑:程序博客网 时间:2024/05/21 19:22
由于业务需要,在原有程序的基础上需要增加几项新的功能。主程序是没有顶部菜单的MDI窗口,考虑在多视环境下的操作实现比较麻烦,故采用主框架响应组合框的消息函数。
创建ComboBox控件
步骤:
1〉在资源里添加一个按钮,命名为ID_COMMBO。
2〉、添加新类class CComboToolBar,
class CComboToolBar : public CToolBar
{
public:
CComboBox m_comboBox; //手动添加
};
我的方法是:向导-〉MFC类-〉CToolBarCtrl,然后将CToolBarCtrl改为CToolBar即可。
3〉、在框架类的OnCreate()函数中添加创建代码。
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
int index = 0;
CRect rect;
while (m_wndToolBar.GetItemID(index) != ID_COMMBO) index++;
m_wndToolBar.SetButtonInfo(index,ID_COMMBO,TBBS_SEPARATOR,112);
m_wndToolBar.GetItemRect(index,&rect);
rect.InflateRect(0, 0, 0, 100);
if (!m_wndToolBar.m_comboBox.Create(WS_CHILD|WS_VISIBLE|CBS_AUTOHSCROLL|
CBS_DROPDOWNLIST|CBS_HASSTRINGS,
rect, &m_wndToolBar, ID_COMMBO))
{
TRACE0("Failed to create combo-box/n");
return FALSE;
}
m_wndToolBar.m_comboBox.ShowWindow(SW_SHOW);
m_wndToolBar.m_comboBox.AddString("单点多日");
m_wndToolBar.m_comboBox.AddString("多点单日");
m_wndToolBar.m_comboBox.AddString("月度统计");
m_wndToolBar.m_comboBox.AddString("年度统计");
m_wndToolBar.m_comboBox.SetCurSel(0);
/*********方法二****************************/
// CString item[4] = {"单点多日","多点单日","月度统计","年度统计"};
// for(int i=0; i<4; i++)
// m_wndToolBar.m_comboBox.AddString(item[i]);
// m_wndToolBar.m_comboBox.SetCurSel(0);
}
记得在框架类中加上 #include “CComboToolBar.h”
4>、在框架中添加消息函数
由于组合框是动态创建的,所以消息函数只能手动添加
//MainFrame.h
//{{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnButtonui();
//}}AFX_MSG
afx_msg void OnDropdown();
DECLARE_MESSAGE_MAP()
//MainFrame.cpp
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
//}}AFX_MSG_MAP
ON_CBN_SELCHANGE(ID_COMMBO,OnDropdown)
END_MESSAGE_MAP()
void CMainFrame::OnDropdown()
{
int m_nMode = m_wndToolBar.m_comboBox.GetCurSel();
CString ss;
ss.Format("nSel=%d",nSel);
AfxMessageBox(ss);
}
OK,大功告成。
- 工具栏上创建ComboBox组合框控件,框架响应消息
- 工具栏上创建ComboBox组合框控件,框架响应消息
- 工具栏上创建ComboBox组合框控件,框架响应消息(一)之后续:用列表项控制工具栏上的按纽
- 组合框控件(combobox)
- 组合框控件(combobox)
- 3.2.2 工具栏上动态创建控件combobox
- VC++实现工具栏上添加平面组合框控件
- 工具栏上创建一个组合框或一个按钮
- 在工具栏创建组合框
- 【VC+MFC】在工具栏上添加ComboBox控件的方法
- MFC工具栏动态创建Slider并生成消息响应
- 在工具条上创建ComboBox控件
- MFC工具栏添加ComboBox控件
- VC/MFC 工具栏上动态添加组合框等控件的方法
- VC/MFC 工具栏上动态添加组合框等控件的方法
- VC/MFC 工具栏上动态添加组合框等控件的方法
- VC组合框ComboBox控件用法
- VC组合框ComboBox控件用法
- usertype的详细解释和使用实例
- GB2312汉字拼音对照表
- 类与结构的差别
- 超越人类中心论
- 替换字符串Replacing Characters
- 工具栏上创建ComboBox组合框控件,框架响应消息
- 装linux出现错误,请高手帮忙
- 20070523
- 绝句。。。。
- 态度决定一切
- opengl学习随笔2
- 5月26日北京开源沙龙活动通知
- 三种线程池比较
- 模仿C++唯一实例实现