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

Вопрос Делать неактивным FolderTreeView при отмеченном чекбоксе

Тема в разделе "Inno Setup", создана пользователем Дамир, 13 июн 2014.

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

    Регистрация:
    21 авг 2013
    Сообщения:
    20
    Симпатии:
    0
    Помогите подправить скрипт
    Код (Text):
    #define AppName "Test"
    #define AppVersion "1.7.2.1657"
    #define AppPublisher "DD"
    #define ExeName "test.exe"

    [Setup]
    AppId={{78348E0C-BA8C-4B07-B7EF-C19894A4849F}
    AppName={#AppName}
    AppVersion={#AppVersion}
    VersionInfoVersion={#AppVersion}
    ;AppVerName={#AppName} {#AppVersion}
    AppPublisher={#AppPublisher}
    DefaultDirName={pf}\{#AppName}
    DefaultGroupName={#AppName}
    AllowNoIcons=yes
    OutputDir=G:\
    OutputBaseFilename=setup
    SetupIconFile=G:\i.ico
    Compression=lzma2/ultra64
    SolidCompression=yes

    [Languages]
    Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"

    [Tasks]
    Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
    Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1

    [Files]
    Source: "G:\test.exe"; DestDir: "{app}"; Flags: ignoreversion

    [Icons]
    Name: "{group}\{#AppName}"; Filename: "{app}\{#ExeName}"
    Name: "{group}\{cm:UninstallProgram,{#AppName}}"; Filename: "{uninstallexe}"
    Name: "{commondesktop}\{#AppName}"; Filename: "{app}\{#ExeName}"; Tasks: desktopicon
    Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#AppName}"; Filename: "{app}\{#ExeName}"; Tasks: quicklaunchicon

    [Run]
    Filename: "{app}\{#ExeName}"; Description: "{cm:LaunchProgram,{#StringChange(AppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

    [Code]
    var
      TDV: TFolderTreeView;
      TFV: TStartMenuFolderTreeView;

    procedure TDVOnChange(Sender: TObject);
    begin
      WizardForm.DirEdit.Text:= AddBackslash(TDV.Directory)+'{#AppName}';
    end;

    procedure TFVOnChange(Sender: TObject);
    begin
      WizardForm.GroupEdit.Text:= AddBackslash(TFV.Directory)+'{#AppName}';
    end;

    procedure InitializeWizard();
    begin
      ISWin7AddCtrl(Copyright.Handle);
      TDV:= TFolderTreeView.Create(WizardForm);
      TDV.Top:= WizardForm.DirEdit.Top+28;
      TDV.Width:= 417;
      TDV.Height:= 100;
      TDV.OnChange:= @TDVOnChange;
      TDV.Parent:= WizardForm.SelectDirPage;

      TFV:= TStartMenuFolderTreeView.Create(WizardForm);
      TFV.Top:= WizardForm.GroupEdit.Top+28;
      TFV.Width:= 417;
      TFV.Height:= 100;
      TFV.SetPaths(ExpandConstant('{userprograms}'),ExpandConstant('{commonprograms}'),ExpandConstant('{userstartup}'),ExpandConstant('{commonstartup}'));
      TFV.OnChange:= @TFVOnChange;
      TFV.Parent:= WizardForm.SelectProgramGroupPage;
    end;
    Как сделать что-бы при установке галки на пункте "Не создавать папку в меню пуск", выбор папки через менюшку становился неактивным как и выбор через "Обзор"?
    [​IMG]
     
  2. Тех. админ Администратор

    Регистрация:
    26 дек 2011
    Сообщения:
    514
    Симпатии:
    601
    Пол:
    Мужской
    Дамир
    Код (Text):
    #define AppName "Test"
    #define AppVersion "1.7.2.1657"
    #define AppPublisher "DD"
    #define ExeName "test.exe"

    [Setup]
    AppId={{78348E0C-BA8C-4B07-B7EF-C19894A4849F}
    AppName={#AppName}
    AppVersion={#AppVersion}
    VersionInfoVersion={#AppVersion}
    ;AppVerName={#AppName} {#AppVersion}
    AppPublisher={#AppPublisher}
    DefaultDirName={pf}\{#AppName}
    DefaultGroupName={#AppName}
    AllowNoIcons=yes
    OutputDir=G:\
    OutputBaseFilename=setup
    SetupIconFile=G:\i.ico
    Compression=lzma2/ultra64
    SolidCompression=yes

    [Languages]
    Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"

    [Tasks]
    Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
    Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1

    [Files]
    Source: "G:\test.exe"; DestDir: "{app}"; Flags: ignoreversion

    [Icons]
    Name: "{group}\{#AppName}"; Filename: "{app}\{#ExeName}"
    Name: "{group}\{cm:UninstallProgram,{#AppName}}"; Filename: "{uninstallexe}"
    Name: "{commondesktop}\{#AppName}"; Filename: "{app}\{#ExeName}"; Tasks: desktopicon
    Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#AppName}"; Filename: "{app}\{#ExeName}"; Tasks: quicklaunchicon

    [Run]
    Filename: "{app}\{#ExeName}"; Description: "{cm:LaunchProgram,{#StringChange(AppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

    [Code]
    var
      TDV: TFolderTreeView;
      TFV: TStartMenuFolderTreeView;
      OldEvent_NoIconsCheckClick: TNotifyEvent;

    procedure TDVOnChange(Sender: TObject);
    begin
      WizardForm.DirEdit.Text:= AddBackslash(TDV.Directory)+'{#AppName}';
    end;

    procedure TFVOnChange(Sender: TObject);
    begin
      WizardForm.GroupEdit.Text:= AddBackslash(TFV.Directory)+'{#AppName}';
    end;

    procedure NoIconsCheckClick(Sender: TObject);
    begin
      OldEvent_NoIconsCheckClick(Sender);
      TFV.Enabled := not WizardForm.NoIconsCheck.Checked;
    end;

    procedure InitializeWizard();
    begin
      ISWin7AddCtrl(Copyright.Handle);
      TDV:= TFolderTreeView.Create(WizardForm);
      TDV.Top:= WizardForm.DirEdit.Top+28;
      TDV.Width:= 417;
      TDV.Height:= 100;
      TDV.OnChange:= @TDVOnChange;
      TDV.Parent:= WizardForm.SelectDirPage;

      TFV:= TStartMenuFolderTreeView.Create(WizardForm);
      TFV.Top:= WizardForm.GroupEdit.Top+28;
      TFV.Width:= 417;
      TFV.Height:= 100;
      TFV.SetPaths(ExpandConstant('{userprograms}'),ExpandConstant('{commonprograms}'),ExpandConstant('{userstartup}'),ExpandConstant('{commonstartup}'));
      TFV.OnChange:= @TFVOnChange;
      TFV.Parent:= WizardForm.SelectProgramGroupPage;

      OldEvent_NoIconsCheckClick := WizardForm.NoIconsCheck.OnClick;
      WizardForm.NoIconsCheck.OnClick := @NoIconsCheckClick;
    end;
     
    Дамир нравится это.
  3. Пользователь

    Регистрация:
    21 авг 2013
    Сообщения:
    20
    Симпатии:
    0
    YURSHAT, все работает, благодарю!
     

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