MFC 如何给ComboBox下拉框控件添加item,如何添加顺序索引的数据项?

首先参考博客:https://blog.****.net/smtrobot/article/details/49306727

提到了添加item可以用AddString方法,效果如下:

我定义了一个数组:

CString strFont[5] = { _T("宋体"),_T("楷体"),_T("仿宋"),_T("黑体"),_T("华文细黑") };

想把这5个按数组索引的顺序添加到控件中。如何实现呢?

 

1.首先我通过类向导给下拉框控件所在的对话框添加了一个ComboBox变量,如图所示。

MFC 如何给ComboBox下拉框控件添加item,如何添加顺序索引的数据项?

添加后再对话框的cpp文件的DoDataExchange函数中会自动生成一句代码:

DDX_Control(pDX, IDC_COMBO1, m_Combobox); 

表示将控件与添加的变量绑定。这样就可以通过该变量来对控件进行操作。

 

2. 通过for循环将CString数组逐个添加到控件: 

for (int i = 0; i < 5; i++)
    {

          m_Combobox.AddString(strFont[i]); 

    }

效果如图:可以看到item的顺序和数组不一致。

MFC 如何给ComboBox下拉框控件添加item,如何添加顺序索引的数据项?

3. 换成InsertString方法:

for (int i = 0; i < 5; i++)
    {

          m_Combobox.InsertString(i,strFont[i]);

    }

再看效果,如图,顺序对了!

MFC 如何给ComboBox下拉框控件添加item,如何添加顺序索引的数据项?