inno-setup – Inno设置MsgBox有三个按钮和三个结果
发布时间:2020-12-15 09:21:06 所属栏目:大数据 来源:网络整理
导读:我正在尝试使用三个按钮和三个结果创建一个MsgBox,但我无法看到如何创建第三个结果?我目前有一个两个按钮MsgBox的代码,它完美地工作: if ((strExistingInstallPath '') and (strExistingVersion = '2.5.3')) thenbegin if SuppressibleMsgBox('Setup has d
我正在尝试使用三个按钮和三个结果创建一个MsgBox,但我无法看到如何创建第三个结果?我目前有一个两个按钮MsgBox的代码,它完美地工作:
if ((strExistingInstallPath <> '') and (strExistingVersion = '2.5.3')) then begin if SuppressibleMsgBox('Setup has detected that ' + strMyAppName + ' ' + strExistingVersion + '.' + strExistingBuild + ' is installed.' + #13#10 + #13#10 + 'The existing version must be removed before installing or upgrading to ' + strMyAppVersion + '.' + strMyAppBuild + '.' + #13#10 + #13#10 + 'Would you like Setup to uninstall the existing version?',mbConfirmation,MB_YESNO,IDYES) = IDYES then begin Exec(GetUninstallString,'',SW_SHOW,ewWaitUntilTerminated,intResultCode); Result := True; end else begin MsgBox('The existing version must be removed first.' + #13#10 + 'Setup is unable to continue. Setup will now exit.',mbError,MB_OK); Result := False; end; end; 如果我将MB_YESNO更改为MB_YESNOCANCEL,我现在会得到三个按钮,是,否和取消.但是,由于if语句被分配给MsgBox,我很难弄清楚如果IDCANCEL然后键入语句如何做一个else.我试图将MsgBox返回的ID常量分配给一个字符串,然后为该字符串创建单独的if语句,使其等于每个ID常量,但这很难失败.我在这里错过了什么?理想情况下,我希望将三个按钮标记为Yes,No和Silent,以便第三个按钮可以被赋予/ silent参数以防止卸载提示.那么,是否可以重命名按钮? 解决方法
您可以编写多个if语句,但是您必须将返回的值存储到变量中并检查该变量值.但正如@Sertac在他的评论中提到的,你可以使用一个case语句,它可以更好地描述代码中的目标,例如:
case SuppressibleMsgBox('Text',MB_YESNOCANCEL,IDYES) of IDYES: begin // user pressed Yes end; IDNO: begin // user pressed No end; IDCANCEL: begin // user pressed Cancel end; end; 出于对多个if语句的好奇心,它可能是: var MsgResult: Integer; begin MsgResult := SuppressibleMsgBox('Text',IDYES); if MsgResult = IDYES then begin // user pressed Yes end else if MsgResult = IDNO then begin // user pressed No end else if MsgResult = IDCANCEL then begin // user pressed Cancel end; end; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Lua实现LSTM 前向传播
- Lumen的PHPStorm插件就像Laravel一样
- [Perl语法篇] 007 -- 表达式与运算符
- Love 0.9.2变化(相对于0.9.1)
- spring – 将@Query切换为nativeQuery会导致PropertyRefer
- Delphi TMediaPlayer播放音乐出现"no MCI device open&
- 大数据及人工智能基础系列3 文本挖掘的TF-IDF计算
- [总结]openresty 限流count.lua:53:attempt to call method
- 对于大于15 GB的文件,您可以选择哪种Perl XML Parsers?
- Inno Setup入门