我正在尝试将一些字符串添加到列表框。这是否可以从函数发送消息以将字符串添加到列表框?
问问题
3144 次
2 回答
3
我得到了正确的代码。就是这样......
LPTSTR lpBuffer = m_WindowTitle.GetBuffer( );
HWND listHWnd = ::GetDlgItem(AfxGetMainWnd()->m_hWnd, IDC_LIST1);
SendMessage(listHWnd, LB_ADDSTRING, 0, (LPARAM)lpBuffer);
m_WindowTitle.ReleaseBuffer ( );
谢谢您的帮助。
于 2012-07-12T05:49:37.490 回答
2
您可以为列表框创建一个成员变量并说m_ctrlListBox.AddString
或
CListBox *pMyList = (CListBox *) GetDlgItem(IDC_LIST1);
pMyList->AddString("My String");
如果你想发送消息,那么你可以试试这些
SendMessage(MAKEINTRESOURCE(IDC_LIST1), LB_INSERTSTRING, Index, (LPARAM)lpBuffer);
SendMessage(hWnd, LB_ADDSTRING, NULL, (LPARAM)lpBuffer);
例子:
CString myString("Hi");
LPTSTR lpBuffer = myString.GetBuffer(myString.GetLength());
CWnd* cw= GetDlgItem(IDC_LIST1);
::SendMessage(cw->GetSafeHwnd(), LB_INSERTSTRING, 0, (LPARAM)lpBuffer);
myString.ReleaseBuffer ( );
于 2012-07-11T11:30:54.867 回答