在 NSIS 中,如何在单击对话框窗口的文本区域后禁用键盘上的 ENTER 键或阻止同意按钮获得焦点?



我有一个NSIS安装程序,显示了我们产品的图片,文本区域的免责声明,拒绝按钮和接受按钮。

我想通过简单地点击键盘上的ENTER键来阻止用户接受报价。

实际上我已经设置了一个默认不做任何事情的隐藏按钮,所以如果按下ENTER键,它不会触发安装。

资源黑客隐藏按钮的代码为:

CONTROL ", 3, BUTTON, BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE, 179,272,0,0

一旦显示对话框窗口,ENTER键不会触发接受按钮,因为隐藏按钮是默认的,它是ok的。

问题是,如果用户单击免责声明的文本区域并按ENTER,它将触发安装。(我注意到焦点没有转到接受按钮)

资源黑客的文本区代码为:

CONTROL ", 1000, "RichEdit20A", ES_LEFT | ES_MULTILINE | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL, 1,134, 439,79

关于如何防止键盘的ENTER键触发接受按钮有什么想法吗?

您可以尝试通过发送DM_SETDEFID来指定对话框中的默认按钮。

相关内容

最新更新