2012-06-21 37 views
5

Tôi đã tạo trang chào mừng tùy chỉnh với hình ảnh trên đó nhưng bảng điều khiển chính ở trên cùng vẫn được hiển thị. Đối với những gì tôi muốn đạt được hình ảnh xem dưới đây:Cách ẩn bảng điều khiển chính và hiển thị hình ảnh trên toàn bộ trang?

enter image description here

Đây là mã:

[Code] 
procedure InitializeWizard; 
var 
    BitmapFileName: string; 
    BitmapImage: TBitmapImage; 
    WelcomePage: TWizardPage; 
begin 
    WelcomePage := CreateCustomPage(wpWelcome, '', '');  

    BitmapFileName := ExpandConstant('{tmp}\DataNova_Logo.bmp'); 
    ExtractTemporaryFile(ExtractFileName(BitmapFileName)); 

    BitmapImage := TBitmapImage.Create(WelcomePage); 
    BitmapImage.AutoSize := True; 
    BitmapImage.Bitmap.LoadFromFile(BitmapFileName); 
    BitmapImage.Cursor := crHand; 
    BitmapImage.Left := 10; 
    BitmapImage.Top := 10; 
    BitmapImage.Parent := WelcomePage.Surface; 
end; 

Làm thế nào để hiển thị hình ảnh trên toàn bộ trang với bảng điều khiển chính ẩn?

+0

Nếu bạn không muốn sử dụng giải pháp của riêng mình, tôi có thể giới thiệu cho bạn dự án này để tạo trình cài đặt Inno da: http: //graphical-installer.com. Hình ảnh: http://graphical-installer.com/joomla/images/stories/gallery/projects/gallery-18.jpg – Slappy

+0

@ Vui lòng, hoặc nếu bạn có AlphaSkins ví dụ và Delphi hoặc nếu bạn có Delphi XE2 với VCL da được xây dựng -in bạn chỉ có thể xây dựng lại InnoSetup của riêng bạn. Oh, tôi thấy, xin lỗi bạn là tác giả :-) – TLama

+0

@TLama: Đây chính xác là lý do tại sao tôi khuyên bạn nên sử dụng công cụ của tôi thay vì viết từ đầu. Vài năm trước, tôi cũng muốn tạo ra trình cài đặt mát mẻ cho phần mềm của tôi và tôi quyết định sửa đổi cài đặt Inno. Thật là khủng khiếp !!! Tôi đã phải tải về và cài đặt cvs/svn/git, tải về các nguồn inno (trong pascal), cài đặt Delphi 7, thiết lập các biến môi trường và biên dịch mọi thứ (lần đầu tiên). Hơn nữa, thêm hỗ trợ da, tạo giải pháp toàn diện, v.v. Sử dụng sản phẩm chuyên nghiệp này thoải mái hơn và nhanh hơn cho người dùng thông thường. – Slappy

Trả lời

7

Bạn cần ẩn các thành phần Bevel1, MainPanelInnerNotebook khi bạn chuyển sang trang chào mừng và hiển thị lại khi bạn rời khỏi trang đó. Ngược lại, hình ảnh bạn cần hiển thị chỉ khi bạn hiển thị trang chào mừng của mình vì nó bao gồm toàn bộ khu vực trang. Vì vậy, mã sau sẽ thực hiện thủ thuật:

[Code] 
var 
    WelcomePageID: Integer; 
    BitmapImage: TBitmapImage; 

procedure InitializeWizard; 
var 
    WelcomePage: TWizardPage; 
begin 
    WelcomePage := CreateCustomPage(wpWelcome, '', ''); 
    WelcomePageID := WelcomePage.ID; 
    BitmapImage := TBitmapImage.Create(WizardForm); 
    BitmapImage.Bitmap.LoadFromFile('C:\Image.bmp'); 
    BitmapImage.Top := 0; 
    BitmapImage.Left := 0; 
    BitmapImage.AutoSize := True; 
    BitmapImage.Cursor := crHand; 
    BitmapImage.Visible := False; 
    BitmapImage.Parent := WizardForm.InnerPage; 
end; 

procedure CurPageChanged(CurPageID: Integer); 
begin 
    BitmapImage.Visible := CurPageID = WelcomePageID; 
    WizardForm.Bevel1.Visible := CurPageID <> WelcomePageID; 
    WizardForm.MainPanel.Visible := CurPageID <> WelcomePageID; 
    WizardForm.InnerNotebook.Visible := CurPageID <> WelcomePageID; 
end; 
+0

Hoạt động rất tốt! FWIW - kích thước hình ảnh tốt là 750 x 460 px – SlowLearner

+0

Đối với một câu hỏi tương tự, hãy xem [Cài đặt Inno - Hình ảnh làm nền trình cài đặt] (https://stackoverflow.com/q/41049054/850848) (hình nền trên toàn bộ cửa sổ) hoặc [Hình ảnh bao gồm toàn bộ trang trong cài đặt Inno] (https://stackoverflow.com/q/44471989/850848) (hình nền trên toàn bộ trang, giữa "tiêu đề" và "chân trang"). –

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