Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

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

Аватара для Johny777

Ветеран


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

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


audiofeel, предлагаю так:



читать дальше »
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
OutputDir=.

[code]
#ifdef UNICODE
    #define A "W"
#else
    #define A "A"
#endif

const
  MAX_PATH = 260;
  MAX_PATH_LEN = 55;

var
  PathLabel: TLabel;

function PathCompactPathEx(pszOut: String; pszSrc: String; cchMax: UINT; dwFlags: DWORD): BOOL; external 'PathCompactPathEx{#A}@shlwapi.dll stdcall';

function ShortPath(Input: String; Length: Integer): String;
begin
  Result := StringOfChar(#32, MAX_PATH);
  PathCompactPathEx(Result, Input, Length, 0);
end;

procedure DirEditOnChange(Sender: TObject);
begin
  PathLabel.Caption := ShortPath('Install Path:' + #32 + TEdit(Sender).Text, MAX_PATH_LEN);
end;

procedure InitializeWizard();
begin
  with WizardForm do
  begin
    PathLabel := TLabel.Create(WizardForm)
    with PathLabel do
    begin
      Parent := DirEdit.Parent;
      Caption := ShortPath('Install Path:' + #32 + DirEdit.Text, MAX_PATH_LEN);
      Transparent := True;
      Font.Size := 10;
      Left := DirEdit.Left;
      Top := DirEdit.Top + Round((DirEdit.Height - Height) div 2);
    end;
    DirEdit.OnChange := @DirEditOnChange;
    DirEdit.Hide;
  end;
end;


только значение константы MAX_PATH_LEN настрой при необходимости
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:31, 25-01-2013 | #1586