1. Уважаемые гости и пользователи форума.
    Администрация настоятельно рекомендует не регистрировать несколько аккаунтов для одного пользователя. При выявлении наличия мультиаккаунтов будут заблокированы все учетные записи данного пользователя.
    Аккаунты, зарегистрированные на временную почту будут также заблокированы.

Вопрос Изображение в newchecklistbox

Тема в разделе "Inno Setup", создана пользователем Adil, 13 фев 2018.

  1. Ветеран

    Регистрация:
    13 фев 2012
    Сообщения:
    269
    Симпатии:
    112
    Всем привет. Вчера пытался загрузить изображение в созданный new check list box. Все никак не получается. Где я ошибся?

    Код (Inno):
    [Setup]
    AppName=My Application
    AppVersion=1.5
    DefaultDirName={pf}\My Application
    SolidCompression=yes
    Compression=lzma/ultra
    PrivilegesRequired=none
    OutputDir=.
    ///BitmapResource=WizardImage:BGImage.bmp

    [Files]                              
    Source: "BGImage.bmp"; Flags: dontcopy solidbreak

    [code]
    var
      BGBitmapImage,BTNImage: TBitmapImage;
      BorderWidth: Integer;
      BGImageStream,BTNImageStream: TMemoryStream;
      NewCheckListBox1: TNewCheckListBox;

    procedure RedesignWizardForm;
    begin
      BGImageStream := TMemoryStream.Create;
      ExtractTemporaryFileToStream('BGImage.bmp', BGImageStream);
      BGImageStream.Position := 0;

      BGBitmapImage := TBitmapImage.Create(WizardForm);
      BGBitmapImage.Bitmap.LoadFromStream(BGImageStream);

      WizardForm.Bevel.Hide;
      WizardForm.OuterNotebook.Hide;

      NewCheckListBox1 := TNewCheckListBox.Create(WizardForm);
      with NewCheckListBox1 do
      begin
        Parent := WizardForm;
        Left := ScaleX(248);
        Top := ScaleY(176);
        Width := ScaleX(209);
        Height := ScaleY(105);
        LoadBGBmpFromBitmap(BGBitmapImage.Bitmap, ScaleX(0), ScaleY(0));
      end;
    end;

    procedure InitializeWizard();
    begin
      RedesignWizardForm;
    end;
     
  2. Ветеран Модератор

    Регистрация:
    26 июн 2011
    Сообщения:
    1.184
    Симпатии:
    757
    нигде, добавь элементы в TNewCheckListBox.
    (во вложении пример с растяжением изображения в зависимости от увеличения в системе и минус колесико)
     

    Вложения:

    Adil нравится это.
  3. Ветеран

    Регистрация:
    13 фев 2012
    Сообщения:
    269
    Симпатии:
    112
    Всем привет. Как сделать так, что бы при выборе двух компонентов прописывались оба параметра через

    Код (Inno):
     if IsComponentSelected('Icons\DesktopIcon') then
      begin
        if IsComponentSelected('Fixes\Widescreen') then
        begin
          CreateShellLink(ExpandConstant('{userdesktop}\{#GameName}.lnk'),'',ExpandConstant('{app}')+'\{#ExeName}', ExpandConstant('WIDESCREENDISPLAY'),'', ExpandConstant('{#ExeName}'),0,SW_SHOW);
        end
             
             else if IsComponentSelected('Fixes\EnhPS') then
             begin
              CreateShellLink(ExpandConstant('{userdesktop}\{#GameName}.lnk'),'',ExpandConstant('{app}')+'\{#ExeName}', ExpandConstant('FORCEHT'),'', ExpandConstant('{#ExeName}'),0,SW_SHOW);
             end
               
                  else if IsComponentSelected('Fixes\Widescreen') and IsComponentSelected('Fixes\EnhPS') then //Вот тут проблема, не прописываются оба параметра.
                  begin
                    CreateShellLink(ExpandConstant('{userdesktop}\{#GameName}.lnk'),'',ExpandConstant('{app}')+'\{#ExeName}', ExpandConstant('WIDESCREENDISPLAY FORCEHT'),'', ExpandConstant('{#ExeName}'),0,SW_SHOW);
                  end

                      else begin
                        CreateShellLink(ExpandConstant('{userdesktop}\{#GameName}.lnk'),'',ExpandConstant('{app}')+'\{#ExeName}', '', '', ExpandConstant('{#ExeName}'),0,SW_SHOW);
                      end;
      end;
     
  4. Ветеран Модератор

    Регистрация:
    26 июн 2011
    Сообщения:
    1.184
    Симпатии:
    757
    Adil, а ты сначала проверяй отмечены ли два компонента, а потом по отдельности, а не наоборот.
    Код (Inno):

    if IsComponentSelected('Icons\DesktopIcon') then
    begin
      if IsComponentSelected('Fixes\Widescreen') and IsComponentSelected('Fixes\EnhPS') then
        CreateShellLink(ExpandConstant('{userdesktop}\{#GameName}.lnk'),'',ExpandConstant('{app}')+'\{#ExeName}', ExpandConstant('WIDESCREENDISPLAY FORCEHT'),'', ExpandConstant('{#ExeName}'),0,SW_SHOW)
      else begin
      if IsComponentSelected('Fixes\Widescreen') then
        CreateShellLink(ExpandConstant('{userdesktop}\{#GameName}.lnk'),'',ExpandConstant('{app}')+'\{#ExeName}', ExpandConstant('WIDESCREENDISPLAY'),'', ExpandConstant('{#ExeName}'),0,SW_SHOW);
      if IsComponentSelected('Fixes\EnhPS') then
        CreateShellLink(ExpandConstant('{userdesktop}\{#GameName}.lnk'),'',ExpandConstant('{app}')+'\{#ExeName}', ExpandConstant('FORCEHT'),'', ExpandConstant('{#ExeName}'),0,SW_SHOW);
      end;
      if not IsComponentSelected('Fixes\Widescreen') and not IsComponentSelected('Fixes\EnhPS') then
      CreateShellLink(ExpandConstant('{userdesktop}\{#GameName}.lnk'),'',ExpandConstant('{app}')+'\{#ExeName}', '', '', ExpandConstant('{#ExeName}'),0,SW_SHOW);
    end;
     
    слишком много else.
     
    Adil нравится это.

Поделиться этой страницей