7

bmp画像を1つのページ「selectadditionaltasks」に表示したいのですが、すべてのページに表示されます。私は何が間違っているのですか?

procedure LogoOnClick(Sender: TObject);
var ResCode: Integer;
begin
end;
procedure LogoWizard();

var
  BtnPanel: TPanel;
  BtnImage: TBitmapImage;
begin
  ExtractTemporaryFile('Logo.bmp')

  BtnPanel:=TPanel.Create(WizardForm)
  with BtnPanel do begin
    Left:=40
    Top:=250
    Width:=455
    Height:=42
    Cursor:=crHand
    OnClick:=@logoOnClick
    Parent:=WizardForm
  end
  BtnImage:=TBitmapImage.Create(WizardForm)
  with BtnImage do begin
    AutoSize:=True;
    Enabled:=False;
    Bitmap.LoadFromFile(ExpandConstant('{tmp}')+'\Logo.bmp')
    Parent:=BtnPanel
  end
end;
procedure InitializeWizard();
begin
  LogoWizard();
end;

画像例

セットアップのスクリーンショット

4

1 に答える 1

5

あなたが言っていることParentにあなたののを設定することによってBtnPanel、あなたはそのパネルがウィザードフォーム全体の直接の子であることを望みます。WizardFormプロパティを、そのパネルを表示するページの表面に変更するBtnPanel.Parent必要があります。

画像を[追加タスクの選択]ウィザードページに表示するため、下にあるパネルなしで画像のみを使用し、TasksListチェックリストボックスのサイズを変更することをお勧めします。このチェックリストボックスは、デフォルトでページの下部領域もカバーしています。画像を配置します。そして、それは次のスクリプトを実行します。commented versionこのスクリプトに従うこともできます。

[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program

[Files]
Source: "Logo.bmp"; Flags: dontcopy

[Tasks]
Name: associate; Description: "&Associate files"; Flags: unchecked
Name: desktopicon; Description: "Create a &desktop icon"; Flags: unchecked

[Code]
procedure LogoOnClick(Sender: TObject);
begin
  MsgBox('Hello!', mbInformation, MB_OK);
end;

procedure InitializeWizard;
var
  BtnImage: TBitmapImage;
begin
  ExtractTemporaryFile('Logo.bmp');

  BtnImage := TBitmapImage.Create(WizardForm);
  with BtnImage do 
  begin
    Parent := WizardForm.SelectTasksPage;
    Bitmap.LoadFromFile(ExpandConstant('{tmp}')+'\Logo.bmp');
    AutoSize := True;
    Left := 0;
    Top := WizardForm.SelectTasksPage.Top + WizardForm.SelectTasksPage.Height - 
      Height - 8;
    Cursor := crHand;
    OnClick := @LogoOnClick;            
  end;
  WizardForm.TasksList.Height :=
    WizardForm.TasksList.Height - BtnImage.Height - 8;
end;
于 2012-10-17T17:27:21.043 に答える