VC++ combobox addstring函数

这个是我编的,不知道哪儿有问题voidCUnitTranDlg::OnCbnSelchangeCombo2(){//TODO:在此添加控件通知处理程序代码usingnam... 这个是我编的,不知道哪儿有问题
void CUnitTranDlg::OnCbnSelchangeCombo2()
{
// TODO: 在此添加控件通知处理程序代码
using namespace std;

string spNames[3][3] =
{
{"1", "2", "3"},
{"甲","乙","丙"},
{"A","B","C"}
};

((CComboBox*)GetDlgItem(IDC_COMBO2))->ResetContent(); //消除现有所有内容

for(int n=1;n<=2;n++)
{
((CComboBox*)GetDlgItem(IDC_COMBO2))->AddString(spNames[pos][n]);
(用这句,提示“CComboBox::AddString”: 不能将参数 1 从“std::string”转换为“LPCTSTR”)
//IDC_COMBO2->AddString(spNames[pos][n]); (这个说是addstring左边必须只向类/结构...)
//CComboBox* combo2->AddString(spNames[pos][n]); (用这句,显现addstring前面少个一个; 我没发现哪儿少打一个;)
};
}

求各位大大帮助解决
展开
 我来答
糖二灰
2013-07-08 · TA获得超过3940个赞
知道小有建树答主
回答量:1052
采纳率:75%
帮助的人:1061万
展开全部
((CComboBox*)GetDlgItem(IDC_COMBO2))->AddString(spNames[pos][n].c_str());
你下边的两种用法都是错误的,只有第一种从逻辑上正确的。
如果真的只有提示“CComboBox::AddString”: 不能将参数 1 从“std::string”转换为“LPCTSTR”)这一个错误的话,那么像我上边写的那样就行了。
有其他错误的话,再追问。
MFC的程序,尽量还是不要用string,用CString就方便多了。
追问
谢啦,果然可以了。不过貌似我编程序的想法不太对,好像结构要改一下,不过还是非常感谢
lgao622
2015-07-24 · 知道合伙人软件行家
lgao622
知道合伙人软件行家
采纳数:1137 获赞数:6550
毕业于武汉工程大学邮电与信息工程学院通信专业,软件行业,4年工作经验。

向TA提问 私信TA
展开全部
CComboBox::AddString
int AddString( LPCTSTR lpszString
);
返回值:
返回值大于等于0时,是列表中项的下标。出错时,返回CB_ERROR,没有足够的空间存放新的字符串时返回CB_ERRSPACE。
参数:
lpszString
指向将要添加的字符串(以null结尾)的指针。
说明:
本函数在组合框中的列表框中添加一个字符串。如果列表框的风格不是CBS_SORT的,则在列表的末尾添加该字符串。否则,该字符串按照排序的次序插入到列表中。
在列表的指定位置插入一项,需使用成员函数InsertString。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式