虽然这个问题可能已经被问过一千遍了(非常确定,但我已经阅读了一千个答案)。我还是不明白。
可以说我有一个创建像这样的ComboBox的函数:
scopeComboSelector=CreateCombobox(hwnd,
GetModuleHandle(0),
CBS_DROPDOWNLIST,
re,
IDCC_DROPDOWNLIST_SCOPE_SELECTOR,
_T("Scopes"));
其中“ re”是定位矩形。 IDCC_DROPDOWNLIST_SCOPE_SELECTOR(相当长的名称)是组合框的ID。现在的要点是,我实际上可以填写此“下拉选择列表”,但是我不知道如何直接将当前选择的值作为字符串获取。
我已经看到了大约10种方法,所有这些方法都会立即产生错误(需要转换为LPWSTR->解决更多错误的结果)。
也许我只是习惯了Java,可以简单地说:
textfield.getText();
如何在Win32 C ++(Microsoft Visual Studio)中实现这一目标?
编辑
我使用的代码:
char userName[_MAX_PATH+1];
GetDlgItemTextW(scopeComboSelector,
IDCC_DROPDOWNLIST_SCOPE_SELECTOR,
(LPWSTR)userName,
200);
返回:userName ==空
更新资料
现在使用:GetDlgItemText()。调试器告诉我userName =“”的值
最佳答案
documentation具有C样式的Windows 9x代码示例。
您只需要用wchar_t
和好友用C ++和Windows 9x傻T宏替换C。
阅读文档始终是一个好主意。