在Win32(而不是MFC)中获取/设置组合框文本

时间:2010-06-25 11:33:25

标签: c++ winapi

我可以使用GetDlgItemText从控件中获取文本,但我想清除选择,SetDlgItemText(IDC_CTRL,_T(""));不起作用。这里有什么正确的方法?

2 个答案:

答案 0 :(得分:3)

假设我正在阅读组合框的MSDN文档和CB_SETCURSEL消息权限,您可以使用wParam向组合框发送CB_SETCURSEL消息(在这种情况下,它将是字符串的索引)在组合框中)被设置为-1。然后应该清除选择。

您还可以决定使用包含邮件发送的ComboBox_SetCurSel宏,它可以让生活更轻松一些。 -1再次清除选择。

当然,如果你没有它,你需要获得组合框的句柄(我假设你这样做,但是如果你没有),你可以使用{{3通过提供对话框的句柄和组合框的id来实现。

答案 1 :(得分:1)

如果您使用纯Win32 API,则可以使用ComboBox_GetText宏从组合框控件中获取文本(ComboBox_SetText以设置文本)。要从组合框中的列表中获取字符串,请使用ComboBox_GetLBText