c++ - 如何从 Windows API 中的文本框中获取文本

标签 c++ winapi textbox

我已经为这个问题绞尽脑汁一个星期了。我正在使用 Windows API,并用

创建了一个文本框

editBox = CreateWindowEx(WS_EX_PALETTEWINDOW, TEXT("Edit"), NULL, WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_BORDER | ES_MULTILINE | ES_LEFT | ES_AUTOVSCROLL, 175, 110, 140, 150, hwnd, (HMENU) ID_TEXT, NULL, NULL);

和一个按钮

button = CreateWindowEx(WS_EX_PALETTEWINDOW, "BUTTON", "Ok", WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON, 175, 260, 140, 20, hwnd, (HMENU) ID_BUTTON, NULL, NULL);

我希望能够单击按钮并将输入的内容存储到 editBox 中在原始字符串中。示例是首选,但链接和文档也非常感谢! :)

最佳答案

您可以使用 GetWindowText API function获取编辑控件的文本。

对于带有标题的窗口,此函数检索标题。对于编辑控件,它检索编辑控件的文本。如果遇到它(曾经是这样),请忽略任何说明您限制为 64K 左右的文档。

要检测按钮点击,请在您的窗口过程中处理 WM_COMMAND 窗口消息;它被发送到按钮的父窗口。有一种基于将消息反射回按钮的更复杂的方法,然后按钮可以自行处理它,并且该方法用于大多数更高级别的框架。但在 API 级别,只需在父窗口的窗口过程中检查 WM_COMMAND

关于c++ - 如何从 Windows API 中的文本框中获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32834788/

相关文章:

C++ 返回一个来自另一个函数的指针是在复制它吗? valgrind 提示

c++ - gnu 在目录名 vpath 中留出空格

python - 在 Python 中接收 WM_COPYDATA

javascript - 空文本框上的 JQuery 默认文本

c++ - 如何处理 C++ 中的 "cannot instantiate abstract class"错误?

C++ 用户输入 float 而不是整数

c - 隐藏和显示 EditBox CURSOR 的非常非常简单的功能

c++ - MFC CDialog 不显示

javascript - 无法获取 2 个文本框的值

autocomplete - 使用 Bootstrap Typeahead 处理自动完成文本框中的选定事件?