Inno Setup 在输入无效时禁用 Next 按钮

扫地机

当输入不是“管理员”时,我需要禁用下一步按钮。

就像是:

procedure EditKeyPress(Sender: TObject; var Key: Char);
begin
  { enable the next button if the value in the box is admin; disable otherwise }
  WizardForm.NextButton.Enabled:=InputPage6.values[EditIndex2]‌​.Text = 'Admin'
end; 
马丁·普里克里尔

实现输入框OnChange事件。您还需要确保在激活自定义页面时更新按钮状态。您可以OnActivate为此使用事件(或CurPageChanged事件函数)。

var
  Page: TInputQueryWizardPage;

procedure ValidatePage;
begin
  WizardForm.NextButton.Enabled := (CompareText(Page.Values[0], 'Admin') = 0);
end;  

procedure EditChange(Sender: TObject);
begin
  ValidatePage;
end;

procedure PageActivate(Sender: TWizardPage);
begin
  ValidatePage;
end;

procedure InitializeWizard();
begin
  Page := CreateInputQueryPage(...);
  { To disable the Next button initially [when box is empty] }
  Page.OnActivate := @PageActivate;
  Page.Add(..., False);
  { Update Next button state on any input change (typing, copy&paste, whatever) }
  Page.Edits[0].OnChange := @EditChange;
end;

要组合多个验证,请参阅Inno Setup Disable Next 按钮使用多个验证表达式(当输入值匹配多个值之一时)

对于其他方法,请参阅:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

输入无效时禁用按钮

为按钮设置焦点事件 - Inno Setup

阻止按钮在Inno Setup中获得焦点

禁用 Inno Setup Next 按鈕,直到用戶選擇單選按鈕

Inno Setup指令“ VersionInfoVersion”无效

Inno Setup禁用同一页面上的两个按钮

Inno Setup:禁用TInputOptionWizardPage的单选按钮看起来已部分启用(错误?)

在 Inno Setup 的许可证页面添加打印按钮(重新访问 Inno Setup 6)

如果用户未将“ Enter”替换为其他任何内容,则Inno Setup禁用“下一个按钮”

Inno Setup:如何使用单选按钮和表单创建页面

Inno Setup-如何根据单选按钮跳过文件

Inno Setup禁用安装向导页面

Inno Setup:禁用完成页面

在Inno Setup中单击“下一步”按钮时,验证自定义页面上的数据

Inno Setup 从输入用户解压文件

Inno Setup:仅在不静音时安装

退出时 Inno Setup 音乐故障

使用Inno Setup静默运行安装,无需任何“下一步”按钮或“安装”按钮

Inno Setup-将自定义按钮与取消按钮对齐

根据Inno Setup中的组件选择禁用控件

如何从代码部分完全禁用Inno Setup中的特定组件?

Inno Setup-在“选定组件”菜单上禁用下拉列表

选择特定组件后,Inno Setup会禁用组件选择

ngForm 无效时禁用按钮

Inno Setup CreateInputQueryPage在输入框之间插入文本

在Inno Setup中将输入的文本保存到TXT文件

Inno Setup中数据输入的端口范围验证

用户输入后 Inno Setup 向导更改页面

在单独的页面上用单选按钮替换Inno Setup安装类型组合框(类似Shield的安装)