工控编程吧
标题:
工具栏中嵌入组合框--上位机VC
[打印本页]
作者:
qq263946146
时间:
2016-12-7 19:01
标题:
工具栏中嵌入组合框--上位机VC
(, 下载次数: 1)
上传
点击文件名下载附件
工具栏中嵌入组合框--上位机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)
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/7b2095bd15b9741a4da1433ca112502f/0/0/w_19rujlt6v5.swf-albumId=6905638509-tvId=6905638509-isPurchase=0-cnId=27[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件
[weixinlianxi]1[/weixinlianxi]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4