gpt4 book ai didi

inno-setup - 在 CurPageChanged 过程中创建控件是否合适?

转载 作者:行者123 更新时间:2023-12-04 18:21:28 25 4
gpt4 key购买 nike

我在 CurPageChanged 中有代码,它向许可证窗口添加了一个按钮。我的 CurPageChanged 是这样开始的:

procedure CurPageChanged(CurPageID: Integer);
var Button123 TButton;
begin
if CurPageID = wpLicense then begin
Button123 := TButton.Create(WizardForm.LicenseMemo.Parent);

我的问题是每次页面更改为 wpLicense 页面时不会创建一个按钮吗?因此,如果用户点击许可对话框,然后返回它,那不会创建另一个按钮吗?如何确保只创建一个按钮?我正在寻找的是最合适的过程,从中添加一个控件--once-- 到现有的 wp.谢谢

最佳答案

My question is wouldn't that create a button each time the page is changed to the wpLicense page? So if a user clicks past the license dialog, then goes back to it, wouldn't that create another button?



是的,它每次都会创建多个按钮。因为页面不会被破坏,所以它们上的控件不会被破坏。但是您实际上可以利用这一事实来创建单个控件,然后在必要时显示/隐藏它。

首先,修改 InitializeWizard方法,在显示向导之前只调用一次。在此处创建按钮,如下所示:

procedure InitializeWizard();
var
MyButton: TButton;
begin
MyButton := TButton.Create(WizardForm.LicenseMemo.Parent);
MyButton.Parent := WizardForm.LicenseMemo.Parent;
MyButton.Top := 0;
MyButton.Left := 0;
MyButton.Caption := 'My Custom Button';
...
end;

关于inno-setup - 在 CurPageChanged 过程中创建控件是否合适?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10590552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com