【发布时间】:2011-08-31 19:55:07
【问题描述】:
我正在尝试设置一个组合框,以便用户可以从下拉菜单中选择一个选项,然后检索用户使用 Win32 API C++ 编程而不是 MFC 选择的内容。我读了约翰的帖子here,但我什么也做不了。我可以为组合框设置文本,但我无法检索用户选择的内容。以下是我尝试过的几种方法:
LPTSTR buf;
ComboBox_GetText(hwnd, buf, 9);
MessageBox(NULL, buf, NULL, MB_OK);
和
char* buf;
GetDlgItemText(hwnd, IDC_COMBO1, buf, 9);
MessageBox(NULL, buf, NULL, MB_OK);
IDC_COMBO1 是组合框的 ID,hwnd 是当前对话框的 HWND。
我的带有组合框的对话框的代码是:
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDD_DIALOG4 DIALOG 0, 0, 424, 181
STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU
CAPTION "Dialog"
FONT 8, "Ms Shell Dlg"
{
COMBOBOX IDC_COMBO1, 113, 31, 119, 19, CBS_DROPDOWN | CBS_HASSTRINGS
PUSHBUTTON "Button1", IDC_BUTTON1, 188, 112, 50, 14
}
我正在使用资源文件来执行此操作。提前致谢。
【问题讨论】:
-
它以什么方式“不起作用”?它是如何失败的?错误代码是什么?
-
它没有给我任何数据。我没有收到任何错误代码,它编译正确,只是在我调用消息框时不返回文本框中的数据。
标签: c++ winapi api text combobox