Czy istnieje sposób wyłączenia przycisku "Dalej" w formularzu kreatora instalacji Inno?Jak wyłączyć przycisk "Dalej" w formularzu kreatora w programie Inno Setup?
Odpowiedz
To powinno działać:
Wizardform.NextButton.Enabled := False;
Aby uzyskać więcej informacji sprawdź grup dyskusyjnych InnoSetup:
http://www.jrsoftware.org/newsgroups.php
Przepraszamy za to, że nie możemy bezpośrednio pomóc w konkretnym problemie. Chciałbym jednak podkreślić, że Inno Setup nie jest oparty na Instalatorze Windows, który prawdopodobnie upewni się, że twoje programy nie mogą przesłać wymagań dotyczących Logo Windows.
Proponuję, abyś spojrzał na WiX 3, który jest twórcą oprogramowania open source bezpośrednio od firmy Microsoft, z doskonałą obsługą wielu osób, które go używają i który pozwala łatwo tworzyć regularne pakiety Instalatora Windows. Wyłączenie przycisku Dalej jest łatwe przy użyciu Wix.
Chyba znalazłem obejście teraz. Ponieważ miałem ten sam problem i znalazłem rozwiązanie, zamieszczam go tutaj w nadziei, że pomogę innym.
Chciałem wyłączyć przycisk ANULUJ po rozpoczęciu przez użytkownika aktualizacji aplikacji. Zastosowanie tej procedury:
procedure CurPageChanged(CurPageID: Integer);
begin
// always disable the cancel button; no going back now!!!
if UpgradeInstallationMode then
Wizardform.CancelButton.Enabled := False;
end;
również inny sposób ręcznie to robi to:
procedure DisableCancelButton();
begin
WizardForm.CancelButton.Enabled := False;
WizardForm.Update;
end;
procedure EnableCancelButton();
begin
WizardForm.CancelButton.Enabled := True;
WizardForm.Update;
end;
Innym sposobem byłoby wykorzystanie tej [Setup] dyrektywy:
[Setup]
AllowCancelDuringInstall=yes
to bardzo przydatne w prostych scenariuszach; możesz użyć tego zamiast powyższych procedur.
Powiedziałbym, że wymuszenie odświeżenia samego 'WizardForm' (linia' WizardForm.Update') nie jest konieczna, i pomimo tego, że odpowiedziałeś na pytanie, jak wyłączyć przycisk Anuluj, daję ci mój pomysł. – TLama
tak, prawdopodobnie masz rację; to tylko przesada **! Czasem używam ** podwójnego dotknięcia **, aby być pewnym! Java Swing repaint() wciąż mnie prześladuje, tak myślę ... Nadal, jeśli chcesz użyć tego poza 'CurPageChanged()', musisz 'WizardForm.Update;' lub inaczej przycisk nie odświeży się. – fubar
Sprawdziłem - to nie działa. – Sasha
W jakim wydarzeniu go używasz? CurPageChanged? – Zyphrax
powinno to działać. gdzie używasz tego kodu? –