2012-02-11 23 views

Respuesta

2

Cree un texto de licencia con formato RTF (con Wordpad para tamaño de archivo muy pequeño) y escriba el hipervínculo en el texto como texto puro, sin funciones adicionales necesarias (por ejemplo, 'http://stackoverflow.com'). InnoSetup mostrará esta URL y hará que se pueda hacer clic en ella. Tenga en cuenta que los enlaces de correo electrónico no funcionan correctamente.

¿Quieres probar? Guarde todo el texto de Wordpad, guárdelo como RTF y vinculelo a InnoSetup.

holandesa

8

Sé que soy bastante tarde aquí ... La siguiente secuencia de comandos de código crea la etiqueta License Agreement enlace en la parte inferior izquierda del formulario asistente. Esa etiqueta tiene una fuente azul subrayada y un cursor de mano al pasar el mouse para que se vea y se sienta como un enlace de página web común. En su evento de clic, se abre una URL específica en un navegador web predeterminado. Esta etiqueta es entonces visible en todas las páginas del asistente, excepto la página de licencia uno:

[Code] 
var 
    LicenseLinkLabel: TLabel; 

procedure LicenseLinkClick(Sender: TObject); 
var 
    ErrorCode: Integer; 
begin 
    ShellExec('', 'http://www.stackoverflow.com', '', '', SW_SHOW, ewNoWait, 
    ErrorCode); 
end; 

procedure InitializeWizard; 
begin 
    LicenseLinkLabel := TLabel.Create(WizardForm); 
    LicenseLinkLabel.Parent := WizardForm; 
    LicenseLinkLabel.Left := 8; 
    LicenseLinkLabel.Top := WizardForm.ClientHeight - 
    LicenseLinkLabel.ClientHeight - 8; 
    LicenseLinkLabel.Cursor := crHand; 
    LicenseLinkLabel.Font.Color := clBlue; 
    LicenseLinkLabel.Font.Style := [fsUnderline]; 
    LicenseLinkLabel.Caption := 'License Agreement'; 
    LicenseLinkLabel.OnClick := @LicenseLinkClick; 
end; 

procedure CurPageChanged(CurPageID: Integer); 
begin 
    LicenseLinkLabel.Visible := CurPageID <> wpLicense; 
end; 

Y el resultado (clic para ampliar):

Click to enlarge Click to enlarge

+0

Si este post respondiendo a su pregunta (incluso con tal retraso :-), puede ['considerar aceptarlo'] (http://meta.stackexchange.com/a/5235/179541), si no, no dude en dejar un comentario aquí, especificando su exacta necesariamente. ¡Gracias! – TLama

+0

Los documentos de Inno no enumeraban un CurPageChanged, pero logré que show/hide trabaje con un TWizardPage enlazándome con los eventos OnActivate y OnNextButtonClick. – MikeKusold

Cuestiones relacionadas