读书频道 > 软件开发 > C++ > Visual C++入门很简单
5.5.1 创建一个组合框
2013-08-22 14:30:29     我来说两句 
收藏    我要投稿   

本文所属图书 > Visual C++入门很简单

本书介绍Visual C++的函数调用形式、面向对象编程、MFC工作原理、开发软件流程及一些实用开发技巧。全书共15章,分为4篇。第1篇介绍Visual C++开发环境、C++语法基础及MFC运行机制;第2篇介绍利用Visual Stud...  立即去当当网订购

5.5  学习组合框控件

组合框控件是一个具有很多可选项的集合,比如某人选择星期几去上班,那它的可选范围就是星期一到星期天。组合框就是用来管理这些可选项的,应用它的好处就是不必将所有选项都罗列到界面,因此界面也就显得很整洁。

5.5.1  创建一个组合框

本节还是以一个例子为主线介绍组合框的应用流程。要建立两个组合框,每个组合框中都有3 个备选项。当第一个组合框中的选项为A ,则第二个组合框中的选项为甲;如果为B ,另一个就必须为对应的乙;如果为C ,则另一个为丙。

在资源视图中的对话框编辑区创建两个组合框之后,默认状态下它们的ID 号各不相同,分别为:IDC_COMBO1 和IDC_COMBO2 。众所周知,当新变量被定义后就应该被初始化;同理,控件也是这样。因此要在基于对话框的 MFC应用程序中的OnInitlDialog()虚函数中对这两个组合框控件进行初始化,即分别赋值3 个状态,如图5.29 所示。

 

图中的“选项1 ”和“选项2 ”是静态文本控件,位于它们右边的就是组合框控件。

代码5-7 是对这两个组合框控件的初始设置。

代码5-7  组合框控件初始化:Fif_Solu4Dlg.cpp
01 BOOL CFif_Solu4Dlg::OnInitDialog()
02 {
03   CDialog::OnInitDialog();
04  …
05   // TODO: 在此添加额外的初始化代码
06   ((CComboBox
*
)GetDlgItem(IDC_COMBO1))->AddString(_T("A"));
                //选项1
07   ((CComboBox
*
)GetDlgItem(IDC_COMBO1))->AddString(_T("B"));
                //选项2
08   ((CComboBox
*
)GetDlgItem(IDC_COMBO1))->AddString(_T("C"));
                //选项3
09 
10   ((CComboBox
*
)GetDlgItem(IDC_COMBO1))->SetCurSel(0); //光标定位
11 
12   ((CComboBox
*
)GetDlgItem(IDC_COMBO2))->AddString(_T("甲")); // 同上
13   ((CComboBox
*
)GetDlgItem(IDC_COMBO2))->AddString(_T("乙"));
14   ((CComboBox
*
)GetDlgItem(IDC_COMBO2))->AddString(_T("丙"));
15 
16   ((CComboBox
*
)GetDlgItem(IDC_COMBO2))->SetCurSel(0);   //同上
17 
18    return TRUE;  // 除非将焦点设置到控件,否则返回TRUE
19 }

代码第06~10行是对第一个组合框的设置;第12~16行是对第二个组合框的设置。

第06~08行是给组合框中设置3 个备选项——A 、B 、C ;第 10行设置的效果是:当程序运行刚开始时,光标会定位在哪个备选项上。


提示:关联组合框控件的元素中有个索引值(int 型)变量。比如说这里的IDC_COMBO1组合框有3 个选项,第一个加入的选项A,它的索引值就是0 ;第二个加入的选项B ,它的索引值是1 ;第三个加入的选项C,它的索引值是2 。按照这个规律,其他组合框控件中选项的索引值具体数据都是这样给定的。

这里IDC_COMBO1 控件初始会定位在A 选项上。此外组合框控件也可以动态创建,与组合框关联的类是CComboBox。但是这里有个疑问,ID 号为IDC_COMBO2 的组合框控件的选项输入顺序是“甲”、“乙”、“丙”,同时设置的光标初始位置是“甲”。可是从图5.29 中可以看出它的初始值是“丙”。所以这里还需要对组合框的属性进行设置,读者请看5.5.2节。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:5.4.4 调试并展示效果图
下一篇:5.5.2 编辑控件的属性与消息类型
相关文章
图文推荐
2.3 forward和完美转
2.2 move语义
1.1.2 decltype关键
深入应用C++11:代码
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站