Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для TheLeon

Пользователь


Сообщения: 50
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: png Screenshot1.png
(15.7 Kb, 19 просмотров)
Тип файла: png Screenshot2.png
(16.2 Kb, 16 просмотров)

Здравствуйте, уважаемые пользователи форума Oszone.net. Нужна ваша помощь!

1.Можно ли убрать значок папки с текстом и переместить на это место текст с полем, которые расположены ниже (см.скрин.1);
2.Можно ли установить изображение, не важно в каком формате(см.скрин.1);
3.Можно ли поставить текст, допустим: разработано кем-то и т.д.(см.скрин.1);

4.Почему-то не указывается выбор установки: полная, кастомная и т.д., наверно я опять накосячил где-то(см.скрин.2);
5.Как сделать, чтобы при наведении на компонент отображалось изображение, именно в моём коде.(см.скрин.2)
--
Заранее спасибо вам огромное! Если найду ответы на свои вопросы, то сразу буду зачёркивать пункты.

Cекции Types and Components
Код: Выделить весь код
[Types]
Name: default; Description: Полная установка(SimpleRadar);
Name: srl; Description: Полная установка(SimpleRadar Lite);
Name: fr; Description: Полная установка(Froosh);
Name: lsc; Description: Полная установка(LoneySilverCity);

[Components]
Name: SR; Description: {code:CompHelper|От Simple Radar}; Types: default; Flags: exclusive;
Name: SR\MAP1; Description: {code:CompHelper|Cobblestone|sr1.bmp};
Name: SR\MAP2; Description: {code:CompHelper|Dust II|sr2.bmp};
Name: SR\MAP3; Description: {code:CompHelper|Inferno|sr3.bmp};
Name: SR\MAP4; Description: {code:CompHelper|Mirage|sr4.bmp};
Name: SR\MAP5; Description: {code:CompHelper|Nuke|sr5.bmp};
Name: SR\MAP6; Description: {code:CompHelper|Overpass|sr6.bmp};
Name: SR\MAP7; Description: {code:CompHelper|Train|sr7.bmp};

;Name: SRL; Description: {code:CompHelper|От Simple Radar Lite}; Types: srl; Flags: exclusive;
;Name: SRL\MAP1; Description: {code:CompHelper|Cobblestone|srl1.bmp};
;Name: SRL\MAP2; Description: {code:CompHelper|Dust II|srl2.bmp};
;Name: SRL\MAP3; Description: {code:CompHelper|Inferno|srl3.bmp};
;Name: SRL\MAP4; Description: {code:CompHelper|Mirage|srl4.bmp};
;Name: SRL\MAP5; Description: {code:CompHelper|Nuke|srl5.bmp};
;Name: SRL\MAP6; Description: {code:CompHelper|Overpass|srl6.bmp};
;Name: SRL\MAP7; Description: {code:CompHelper|Train|srl7.bmp};

Name: FR; Description: {code:CompHelper|От Froosh}; Types: fr; Flags: exclusive;
Name: FR\MAP1; Description: {code:CompHelper|Cobblestone|froosh1.bmp};
Name: FR\MAP2; Description: {code:CompHelper|Dust II|froosh2.bmp};
Name: FR\MAP3; Description: {code:CompHelper|Inferno|froosh3.bmp};
Name: FR\MAP4; Description: {code:CompHelper|Mirage|froosh4.bmp};
Name: FR\MAP5; Description: {code:CompHelper|Overpass|froosh5.bmp};

Name: LSC; Description: {code:CompHelper|От LoneySilverCity}; Types: lsc; Flags: exclusive;
Name: LSC\MAP1; Description: {code:CompHelper|Aztec|lsc1.bmp};
Name: LSC\MAP2; Description: {code:CompHelper|Cobblestone|lsc2.bmp};
Name: LSC\MAP3; Description: {code:CompHelper|Dust II|lsc3.bmp};
Name: LSC\MAP4; Description: {code:CompHelper|Inferno|lsc4.bmp};
Name: LSC\MAP5; Description: {code:CompHelper|Nuke|lsc5.bmp};
Name: LSC\MAP6; Description: {code:CompHelper|Overpass|lsc6.bmp};
Name: LSC\MAP7; Description: {code:CompHelper|Train|lsc7.bmp};

Секция CODE
Код: Выделить весь код
var
  ImagePanel: TPanel;
  ComponentsInfoImage: TBitmapImage;
  ComponentHelper: TStringList;

function CompHelper(Param: string): string;
var
  Image: TBitmap;
  Index: Integer;
begin
  Result := '';
  with TStringList.Create do
  try
    StringChangeEx(Param, '|', #13#10, True);
    Text := Param;
    if Count = 0 then Exit;
    if Count > 0 then
      Index := ComponentHelper.Add(Strings[0]);
    if Count > 1 then
    begin
      if not FileExists(ExpandConstant('{tmp}\') + Strings[1]) then
        ExtractTemporaryFile(Strings[1]);
      Image := TBitmap.Create;
      Image.LoadFromFile(ExpandConstant('{tmp}\') + Strings[1]);
      ComponentHelper.Objects[Index] := Image;
    end;
    Result := ComponentHelper[Index];
  finally
    Free;
  end;
end;

procedure ComponentsListClickCheck(Sender: TObject);
begin
  if not Assigned(Sender) or (TNewCheckListBox(Sender).ItemIndex = -1) then Exit;
  ComponentsInfoImage.Bitmap.Assign(TBitmap(ComponentHelper.Objects[TNewCheckListBox(Sender).ItemIndex]));
end;

function InitializeSetup(): Boolean;
begin
  Result := True;
  ComponentHelper := TStringList.Create;
  ComponentHelper.Duplicates := dupIgnore;
end;

var
  CheckLicense: TCheckBox;

procedure LicenseOnClick(Sender: TObject);
begin
  if (CheckLicense.Checked) = True then
  begin
    WizardForm.LicenseAcceptedRadio.Checked := True;
  end else
  begin
    WizardForm.LicenseNotAcceptedRadio.Checked := True;
  end;
end;

procedure InitializeWizard();
var
  i: Integer;
begin
  WizardForm.TypesCombo.Visible := False;
  WizardForm.ComponentsList.Visible := True;
  WizardForm.ComponentsList.Height := ScaleX(209);
  WizardForm.ComponentsList.Top := ScaleX(15);
  WizardForm.ComponentsList.Width := ScaleX(175);
  for i := 0 to WizardForm.ComponentsList.Items.Count - 1 do
    if not WizardForm.ComponentsList.ItemEnabled[i] then
      WizardForm.ComponentsList.ItemSubItem[i] := '';
  WizardForm.ComponentsDiskSpaceLabel.Visible := True;
  WizardForm.LicenseNotAcceptedRadio.Hide;
  WizardForm.LicenseAcceptedRadio.Hide;
  WizardForm.LicenseMemo.Height := ScaleY(175);

  CheckLicense:= TCheckBox.Create(WizardForm);
  CheckLicense.Left:= ScaleX(0);
  CheckLicense.Top:= ScaleY(216);
  CheckLicense.Caption:= WizardForm.LicenseAcceptedRadio.Caption;
  CheckLicense.Width:= ScaleX(417);
  CheckLicense.OnClick:= @LicenseOnClick;
  CheckLicense.Parent:= WizardForm.LicensePage;

  ImagePanel := TPanel.Create(WizardForm);
  ImagePanel.Parent := WizardForm.SelectComponentsPage;
  ImagePanel.Caption := '';
  ImagePanel.Top := ScaleX(15);
  ImagePanel.Left := ScaleX(180);
  ImagePanel.Width := ScaleX(210);
  ImagePanel.Height := ScaleX(210);
  ImagePanel.BevelInner := bvRaised;
  ImagePanel.BevelOuter := bvLowered;

  WizardForm.ComponentsList.OnClickCheck:= @ComponentsListClickCheck;
  ComponentsInfoImage:= TBitmapImage.Create(WizardForm);
  ComponentsInfoImage.Parent:= ImagePanel;
  ComponentsInfoImage.Top:= ScaleY(2);
  ComponentsInfoImage.Left:= ScaleX(2);
  ComponentsInfoImage.Width:= ScaleX(205);
  ComponentsInfoImage.Height:= ScaleY(205);
  ComponentsInfoImage.Stretch:= True;
  ComponentsInfoImage.BringToFront;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
  case CurPageID of
    wpSelectComponents: ComponentsListClickCheck(nil);
  end;
end;

function NextButtonClick(CurPageID: Integer): Boolean;
begin
  Result := True;
  case CurPageID of
    wpSelectDir:
      if not FileExists(ExpandConstant('{app}\steam.exe')) then begin
        MsgBox('Ошибка! Вы должны указать путь до папки Steam.', mbError, MB_OK);
        Result := False;
      end;
  end;
end;

Последний раз редактировалось TheLeon, 02-04-2018 в 17:57.


Отправлено: 18:17, 01-04-2018 | #2499