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入门
