工控编程吧

标题: 上位机MFC如何在工具栏中添加组合框 [打印本页]

作者: qq263946146    时间: 2019-7-20 12:36
标题: 上位机MFC如何在工具栏中添加组合框
首先第一步肯定是准备一个组合框,可以事先添加些数据。比如定义一个组合框,再初始化
        CComboBox m_ComboBox;

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;
}



组合框初始化时传递进去的是工具栏的一个按钮ID,就是在此ID上嵌入组合框
然后就 是在工具栏创建后,一并调用上面的函数
        //创建组合框
        if (!CreateComboBox(ID_COMBOBOX))
        {
                TRACE0("Failed to create combo box\n");
                return -1;
        }

这里提供一个实例
效果如图
(, 下载次数: 1)