我有一个 TInputDirWizardPage 类型的可选向导页面。
如果未输入数据,如何添加不会验证数据并跳过的按钮?
问问题
827 次
3 回答
1
您是否检查过 inno 帮助,在这里您可以看到 TInputDirWizardPage 上的可用功能
TInputDirWizardPage = class(TWizardPage)
function Add(const APrompt: String): Integer;
property Buttons[Index: Integer]: TNewButton; read;
property Edits[Index: Integer]: TEdit; read;
property PromptLabels[Index: Integer]: TNewStaticText; read;
property SubCaptionLabel: TNewStaticText; read;
property Values[Index: Integer]: String; read write;
end;
只有当我需要在页面上输入文本时,我才会使用这种方式。我建议您创建一个完整的自定义 WizardPage,这样您会更加灵活。您可以使用设计器来创建页面,我使用 InnoSetup 表单设计器创建了所有自定义页面。在这里你可以看到它在行动http://www.cenadep.org/2012/02/09/innosetup-form-designer/
于 2013-01-11T22:59:56.107 回答
1
我找到了简单且有效的解决方案。而不是添加额外的按钮来避免验证空路径。我刚刚添加了默认目录创建。在 [目录] 部分。
[Dirs]
Name: {code:WrkGetWorkingDir}; Flags: uninsneveruninstall
如果未指定,我的应用程序可以接受工作目录 cmdline arg 或创建默认值。所以。我总是在安装脚本中指定该 cmdline arg 并创建该默认目录(如果用户没有更改该路径)。
于 2013-01-14T13:59:42.160 回答
0
希望这会有所帮助
procedure OnClickMyButton(Sender: TObject);
begin
MsgBox('OnClickMyButton', mbInformation, MB_OK);
end;
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = YourPageID.ID then
begin
MyButton := TButton.Create(YourPageID);
MyButton.Parent := YourPageID.Buttons[0].Parent;
MyButton.Top := YourPageID.Edits[0].Top + YourPageID.Edits[0].Height + 10;
MyButton.Left := YourPageID.Edits[0].Left;
MyButton.Width := 100;
MyButton.Caption := 'My Custom Button';
MyButton.OnClick := @OnClickMyButton;
end;
end;
于 2013-04-09T13:43:29.043 回答