Win32在文本框中输入ok按钮

时间:2014-04-11 14:07:42

标签: c++ c winapi input mfc

标题不是很明确,但这是我的问题:

我有一个基于MFC的应用程序,其对话框包含:

  • 1文字输入;

  • 1确定按钮;

  • 1个取消按钮;

  • 带箭头的1个按钮,用于输入下一个值

当文本框有焦点时,按下Enter键会触发OK按钮。为什么?文本框有焦点,而不是OK按钮,为什么会这样做呢?

我需要将输入键重定向到箭头按钮而不是确定按钮,这样按下输入不会关闭对话框,而是转到下一个输入。

为什么我能这样做?如果我在箭头按钮上使用SetFocus,文本框会失去焦点,正如预期的那样,这不是我想要的。

2 个答案:

答案 0 :(得分:3)

您必须将修改控件的MultilineWant Return属性设置为True

答案 1 :(得分:2)

如果编辑控件没有样式ES_WANTRETURN,则按ENTER与按下对话框的默认按钮效果相同。但是,此样式对单行控件没有影响,因此您还必须为控件设置ES_MULTILINE样式。