2012-05-27 36 views
5

Tôi muốn thêm các nút được thiết kế tùy chỉnh vào Tập lệnh Inno của mình với lớp TBitmapImage.Cài đặt Inno: TBitmapImage không hiển thị

Tập lệnh Inno Setup của tôi được biên dịch tốt nhưng bitmap không hiển thị trong biểu mẫu. Tôi nhìn vào bất kỳ khả năng nào nhưng dường như không thể tìm ra lỗi mà tôi đã tạo ra. Đó là cách phần TBitmapImage trông giống như atm:

procedure CreateMuteButton(ParentForm: TSetupForm); 
var 
    MuteImage: TBitmapImage; 
    BitmapFileName: String; 
begin 
    BitmapFileName := ExpandConstant('{tmp}\muteBtn.bmp'); 
    ExtractTemporaryFile(ExtractFileName(BitmapFileName)); 
    MuteImage := TBitmapImage.Create(ParentForm); 
    MuteImage.Bitmap.LoadFromFile(BitmapFileName); 
    MuteImage.Cursor := crHand; 
    MuteImage.OnClick := @MuteButtonOnClick; 
    MuteImage.Parent := ParentForm; 
    MuteImage.Left := 45; 
    MuteImage.Top := 80 
    MuteImage.Width := 38; 
    MuteImage.Height := 50; 
end; 

procedure InitializeWizard(); 
var 
    val: Integer; 
begin 
    CreateMuteButton(WizardForm); 
    (...) 
end; 
+0

không thể nhìn thấy bất cứ điều gì sai trái với mã, hãy thử MuteImage.BringToFront(); có thể là thứ tự z là nhận được nhồi lên. –

+0

Tôi đã thêm rằng, không trợ giúp:/ Tôi có cần chỉ định điều gì đó trong() không? Tôi không thể tìm thấy điều này trong tài liệu. – PTS

+0

Không có đối số trên BringToFront. Đã không thực hiện Innosetup trong nhiều năm, nhưng tôi đã có vấn đề này trong một ứng dụng Delphi, Forggetting để thiết lập phụ huynh, bringtofont, hoặc chỉ đơn giản là cha mẹ sai sẽ được waht tôi sẽ tìm. –

Trả lời

5

Diện tích WizardForm khách hàng chính nó là chỉ hiển thị dưới dòng vát đáy. Trên đó là WizardForm.InnerPage và các trang Thuật sĩ cá nhân/hiện tại ở giữa chứa trong một số InnerNotebook riêng.

Điều này khiến hình ảnh bên trái của trang:

MuteImage := TBitmapImage.Create(WizardForm.InnerPage); 
MuteImage.Parent := WizardForm.InnerPage; 
MuteImage.Left := 0; 
{ Uses the top of the wizard pages to line up } 
MuteImage.Top := WizardForm.SelectDirPage.Parent.Top; 

Trong khi điều này đặt nó trong phần đáy:

MuteImage := TBitmapImage.Create(WizardForm); 
MuteImage.Parent := WizardForm; 
MuteImage.Left := 0; 
{ Below the inner page } 
MuteImage.Top := WizardForm.InnerPage.Height; 
+0

Cảm ơn rất nhiều công việc đã làm! :) Điều cần biết về những khu vực khác nhau. – PTS

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