Ветеран
Сообщения: 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
|