当前位置:编程学习 > C/C++ >>

在工具栏创建组合框

1、在resource.h中定义一个组合框ID
 
[cpp]  
#define ID_MY_COMBOBOX                  1032  
 
2、在.rc资源文件中为工具栏添加一个ID为如上定义的BUTTON
 
[cpp]  
IDR_MAINFRAME TOOLBAR  16, 15  
BEGIN  
    ......  
  
    BUTTON      ID_MY_COMBOBOX  
  
    ......  
END  
 
3、在MainFrm.h中定义一个组合框对象
 
[cpp]  
protected:  // 控件条嵌入成员  
    CStatusBar  m_wndStatusBar;  
    CToolBar    m_wndToolBar;  
    CComboBox    m_wndComboBox;     // 组合框对象  
 
4、在MainFrm.h中定义一个用于创建组合框的函数声明
 
[cpp]  
public:  
    BOOL CreateComboBox();  
 
5、在MainFrm.cpp中实现上面声明的函数
 
[cpp]  
BOOL CMainFrame::CreateComboBox()  
{  
    int nWidth = 200;   // 组合框宽度  
    int nHeight = 200;  // 组合框高度  
  
    int index = 0;  
  
    while (m_wndToolBar.GetItemID(index) != ID_MY_COMBOBOX)  
        index++;  
  
    m_wndToolBar.SetButtonInfo(index, ID_MY_COMBOBOX, TBBS_SEPARATOR, nWidth);  
    CRect rect;  
    m_wndToolBar.GetItemRect(index, &rect);  
    rect.bottom = rect.top + nHeight;  
    BOOL rel = m_wndComboBox.Create(WS_CHILD|WS_VISIBLE|WS_VSCROLL|CBS_SORT|CBS_DROPDOWN,  
        rect, &m_wndToolBar, ID_MY_COMBOBOX);  
    if (!rel)   
    {  
        TRACE0("创建组合框失败!");  
        return FALSE;  
    }  
  
    return TRUE;  
}  
 
6、在CMainFrame的OnCreate()函数中调用创建组合框函数
 
[cpp]  
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)  
{  
    ......  
  
    if (!CreateComboBox())  
    {  
        TRACE0("组合框创建失败!");  
    }  
    return 0;  
}  
 
 
 
 
补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,