工具栏中嵌入组合框--上位机VC
工具栏中嵌入组合框--上位机VC
功能展示
各种控件之间的组合使用能够使软件更方便的操作,当前例程在工具栏中嵌入组合框,效果如图。程序初始化时默认向工具栏中嵌入一个组合框,并向组合框中添加多个选项,用鼠标选择组合框内的选项后,后弹出所选的内容
要点提示
在工具栏中嵌入组合框,可以利用组合框类CComboBox的成员函数Create()实现,只要指定函数中父窗口为工具栏,在指定在工具栏的位置,就可实现嵌入组合框功能; 实现功能 1.因为文档框架工程有默认的工具栏,所以新建基于单文档的应用程序
2.在框架窗口类中添加一组合框变量及一函数CComboBox m_ComboBox; BOOLCreateComboBox(UINT nID);并在框架创建函数OnCreate()中调用函数创建组合框; - BOOL CMainFrame::CreateComboBox(UINT nID)
- {
- int nIndex = 0;
- CRect rect;
- //查找按钮
- while (m_wndToolBar.GetItemID(nIndex) != nID)
- {
- nIndex++;
- }
- //为组合框创建一个空白区域
- m_wndToolBar.SetButtonInfo(nIndex, nID, TBBS_SEPARATOR, 80);
- //获得空白区域大小和位置
- m_wndToolBar.GetItemRect(nIndex, &rect);
- //组合框大小和位置
- rect.top += 0;
- rect.bottom += 200;
- //在空白区域创建组合框
- if (!m_ComboBox.Create(WS_CHILD | WS_VISIBLE | CBS_AUTOHSCROLL |
- CBS_DROPDOWNLIST | CBS_HASSTRINGS, rect, &m_wndToolBar, nID))
- {
- TRACE0("Failed to create combo-box\n");
- return FALSE;
- }
- //显示组合框
- m_ComboBox.ShowWindow(SW_SHOW);
-
复制代码- //在组合框中添加字符串
- m_ComboBox.AddString("500%");
- m_ComboBox.AddString("200%");
- m_ComboBox.AddString("150%");
- m_ComboBox.AddString("100%");
- m_ComboBox.AddString("75%");
- m_ComboBox.AddString("50%");
- m_ComboBox.AddString("25%");
- m_ComboBox.AddString("10%");
- m_ComboBox.SetCurSel(3);
- return TRUE;
- }
- if (!CreateComboBox(ID_COMBOBOX))//创建组合框
- {
- TRACE0("Failed to create combo box\n");
- return -1;
- }
复制代码3.调用函数中ID ID_COMBOBOX为手工向默认工具栏添加的ID; 然后再手动添加组合框内容选择的处理函数 OnSelchangeCombobox()并与组合框进行关联 ON_CBN_SELCHANGE(ID_COMBOBOX,OnSelchangeCombobox)
我们来演示下功能实现的整个过程 如果您认可,可联系功能定制! 如果您着急,充值会员可直接联系发您资料!
|