2012-02-11 37 views
5

Tôi đang sử dụng Cài đặt Inno cho ứng dụng của mình. Tôi muốn hiển thị một liên kết (Thỏa thuận Cấp phép) trong Cài đặt Inno trong khi cài đặt (ngoại trừ Trình hướng dẫn Thỏa thuận Cấp phép riêng). Tôi muốn kết hợp liên kết này với một số nhiệm vụ. Khi người dùng nhấp vào liên kết đó, người dùng sẽ điều hướng đến URL cụ thể.Hiển thị liên kết Thỏa thuận Cấp phép trong Cài đặt Inno trong khi cài đặt

Trả lời

2

Tạo văn bản giấy phép được định dạng RTF (với Wordpad cho kích thước tệp rất nhỏ) và nhập siêu liên kết trong văn bản dưới dạng văn bản thuần túy, không cần thêm chức năng (ví dụ: 'http://stackoverflow.com'). InnoSetup sẽ hiển thị URL này và làm cho nó có thể nhấp được. Hãy lưu ý rằng các liên kết e-mail không hoạt động đúng cách.

Muốn thử không? Lưu toàn bộ Wordpad văn bản này, lưu dưới dạng RTF và liên kết nó với InnoSetup.

Dutch

8

Tôi biết tôi khá muộn ở đây ... Các kịch bản mã sau tạo nhãn License Agreement liên kết ở phần dưới bên trái của hình thức wizard. Nhãn đó có phông chữ được gạch chân màu xanh dương và một con trỏ tay trên di chuột để nó trông giống như một liên kết trang web phổ biến. Trên sự kiện nhấp chuột, URL được chỉ định được mở trong trình duyệt web mặc định. Nhãn này là sau đó có thể nhìn thấy trên tất cả các trang thuật sĩ ngoại trừ trang giấy phép một:

[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; 

Và kết quả (bấm vào để phóng to):

Click to enlarge Click to enlarge

+0

Nếu bài đăng này đã trả lời câu hỏi của bạn (ngay cả với chậm trễ như vậy :-), bạn có thể ['xem xét chấp nhận nó'] (http://meta.stackexchange.com/a/5235/179541), nếu không, đừng ngần ngại để lại một bình luận ở đây, xác định chính xác của bạn nhu cầu. Cảm ơn! – TLama

+0

Các tài liệu Inno không liệt kê một CurPageChanged, nhưng tôi quản lý để có được hiển thị/ẩn làm việc với một TWizardPage bằng cách liên kết với các sự kiện OnActivate và OnNextButtonClick. – MikeKusold

Các vấn đề liên quan