VC++ SendMessage(HWND,CB_GETLBTEXT,wParam,lParam)到底怎么用?
网上找了很久只查到wParam是combobox的index值,lParam是用来得到一个字符串的指针,但是lParam不是string类型的啊?试了一下long、cha...
网上找了很久只查到wParam是combobox的index值,lParam是用来得到一个字符串的指针,但是lParam不是string类型的啊?试了一下long、char、int都行,就是string不行。那我要怎么用它来得到combobox里某项的文本字符串?求可行的示例,能解决问题我还会加分的,谢谢。
展开
1个回答
展开全部
TCHAR szText[128] = {0};
SendMessage(hwndCB,CB_GETLBTEXT,index,LPARAM(szText));
保险起见先 CB_GETLBTEXTLEN 获取item的字符长度在分配足够大的内存。
SendMessage(hwndCB,CB_GETLBTEXT,index,LPARAM(szText));
保险起见先 CB_GETLBTEXTLEN 获取item的字符长度在分配足够大的内存。
追问
再问一下,TCHAR[]和string要怎么比较?
我把str转为_T(str)然后判断szText==_T(str)结果没一个相同的……
菜鸟一只,求赐教T_T
追答
string是什么类型的? std::string? 还是 MFC/ATL 的CString? 新手推荐使用CString吧。 CString str(szText); if(str.CompareNoCase(_T("TEST String")) == 0) ;//相同
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询