ARX中CAcUiColorComboBox的用法
其实在开发ARX程序的时候,能用Adui和AcUi库就尽量用,还是非常方便的,尤其是对于数据容错检查,Tip 提示等方面更是方便。ARX程序中常用的就是设定实体颜色,让用户选择一个颜色最常用的方法就是用颜色下拉列表框,采用CAcUiColorComboBox来做是最快的。
CAcUiColorComboBox用起来很简单,步骤如下:
1. 在对话框或者其它界面上创建一个普通下拉列表框,设置Owner Draw属性为Fixed,注意一定要设置Owner Draw属性,当然Type属性也要设置为Drop List,这样用户就不能手工编辑了。
2. 在头文件里定义一个CAcUiColorComboBox m_cmbColor;变量。
3. 在CPP文件里的DoDataExchange函数里定义对应关系 DDX_Control(pDX, IDC_CMB_COLOR, m_cmbColor);,其中IDC_CMB_COLOR就是界面上定义的下拉列表框ID。
4. 可以封装一个函数来初始化这个颜色下拉列表框。
www.zzzyk.com
void InitColorCMB( CAcUiColorComboBox& cmb, int colorIndex )
void InitColorCMB( CAcUiColorComboBox& cmb, int colorIndex )
{
int item = cmb.FindItemByColorIndex(colorIndex); // 根据colorIndex查找有没哟对应的列表框Item
if (item < 0) www.zzzyk.com
{
item = cmb.AddColorToMRU(colorIndex); // 没有找到列表框Item,则主动创建一个,这样在用SetCurSel选择的时候就会显示正确的颜色
}
cmb.SetCurSel(item);
}
多简单的一个初始化,有了这个函数,只要知道一个颜色索引值colorIndex,就能正确显示颜色列表框了。
5. 用户重新选择了颜色,我们需要得到用户选择的颜色,int colorIndex = m_cmbColor.GetCurrentItemColorIndex();,这样这个colorInex就可以用在ARX任何需要颜色的地方了。
补充:软件开发 , C++ ,