Изменение размера окна лицензии работало не слишком хорошо, поэтому вместо этого мы предоставили кнопку для просмотра лицензии в WordPad. Это работает на удивление хорошо; Мне скорее понравилось в конце. Код:
procedure ViewLicenseButtonClick(Sender: TObject);
var WordpadLoc: String;
RetCode: Integer;
begin
RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WORDPAD.EXE', '', WordpadLoc);
// on NT/2000 it's a REG_EXPAND_SZ, so expand constant ProgramFiles
StringChange(WordpadLoc, '%ProgramFiles%', ExpandConstant('{pf}'));
// remove " at begin and end pf string
StringChange(WordpadLoc, '"', '');
try
ExtractTemporaryFile('LicenseAgreement.rtf')
except
MsgBox('Cannot extract license file.', mbError, mb_Ok);
end;
if not Exec(WordpadLoc, '"' + ExpandConstant('{tmp}\LicenseAgreement.rtf') + '"', '', SW_SHOW, ewNoWait, RetCode) then
MsgBox('Cannot display license file.', mbError, mb_Ok);
end;
procedure CurPageChanged(CurPageID: Integer);
var ViewLicenseButton: TButton;
begin
if CurPageID = wpLicense then begin
ViewLicenseButton := TButton.Create(WizardForm.LicenseMemo.Parent);
ViewLicenseButton.Caption := '&View in WordPad';
ViewLicenseButton.Width := 120;
ViewLicenseButton.Left := WizardForm.LicenseMemo.Left +
WizardForm.LicenseMemo.Width - ViewLicenseButton.Width;
ViewLicenseButton.Top := WizardForm.LicenseMemo.Top +
WizardForm.LicenseMemo.Height + 16;
ViewLicenseButton.OnClick := @ViewLicenseButtonClick;
ViewLicenseButton.Parent := WizardForm.LicenseAcceptedRadio.Parent;
end;
end;