【问题标题】:How to write a function that processes input from an Edit box in Win32?如何编写一个处理 Win32 中编辑框输入的函数?
【发布时间】:2021-10-23 12:15:21
【问题描述】:

我在这里是个菜鸟,但我已经学习了 C++ 的基础知识,并且正在学习 Win32。

我在主窗口中创建了一个带有文本框的基本 Win32 窗口,我希望程序以某种方式响应用户在按下 Enter 时输入的文本,即使它只是一个小对话框。

但是,我不确定如何开始执行此操作的函数。我觉得在我的WndProc 中使用VK_RETURNswitch 语句是如何执行的,但我不知道如何在函数中包含“编辑”框。

希望我以一种有意义的方式陈述了这个问题。

【问题讨论】:

标签: winapi win32gui


【解决方案1】:

GetWindowText 从控件中获取文本,GetDlgItem 找到它。 GetDlgItemIntGetDlgItemText同时进行。

【讨论】:

    【解决方案2】:

    在对话框中,当用户按下 ENTER 键时,通常会导致默认控件或焦点控件响应事件,而并非您所希望的那样。

    您可以将编辑控件设置为“多行”模式,并勾选“Want Return”属性。然后在对话框的 DlgProc 中,每当编辑的内容发生更改时,您都会收到 WM_COMMAND 消息,其中 LOWORD(wParam) 是编辑的 ID,HIWORD(wParam) 是 EN_CHANGE。然后您可以获取编辑的内容以检查用户是否已按 ENTER 键进行更改。

    【讨论】:

      猜你喜欢
      • 2015-01-26
      • 1970-01-01
      • 2010-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-21
      • 1970-01-01
      相关资源
      最近更新 更多