Имя пользователя:
Пароль:
 

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

Аватара для YURSHAT

Старожил


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

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


Цитата Rikill:
ohny777, это кривые варианты. У некоторых не будет работать. »
Если немного подправить, то заработает у всех

Цитата FanN:
И еще вопрос: как вшить в инсталлятор свой шрифт? »
Установка временного шрифта
Код: Выделить весь код
#define Font "Alterna.ttf"
#define FontName "Alterna"

[Setup]
AppName=SetTemporaryFont
AppVerName=SetTemporaryFont
DefaultDirName={pf}\SetTemporaryFont
OutputBaseFilename=setup

[Files]
Source: {#Font}; Flags: dontcopy

[Code ]

var
  IsCustomFontInstalled: boolean;
  FontName: string;

function AddFontResource(FileName: PAnsiChar): Integer; external 'AddFontResourceA@gdi32.dll stdcall';
function RemoveFontResource(FileName: PAnsiChar): BOOL; external 'RemoveFontResourceA@gdi32.dll stdcall';

function InitializeSetup: boolean;
begin
  FontName:='Tahoma';
  ExtractTemporaryFile('{#Font}');
  IsCustomFontInstalled:=AddFontResource(ExpandConst  ant('{tmp}')+'\{#Font}')>0;
  if IsCustomFontInstalled then PostMessage(HWND_BROADCAST,$1D,0,0);
  if FontExists('{#FontName}') then FontName:='{#FontName}' else FontName:='Arial';
  if IsCustomFontInstalled then FontName:='{#FontName}';
  Result:=True;
end;

procedure InitializeWizard;
begin
  WizardForm.Font.Name:=FontName;
end;

procedure DeinitializeSetup;
begin
  WizardForm.Free
  if IsCustomFontInstalled then
  if RemoveFontResource(ExpandConstant('{tmp}')+'\{#Font}') then PostMessage(HWND_BROADCAST,$1D,0,0);
end;

-------
Если я знаю, что знаю мало, я добьюсь того, чтобы знать больше... В.И. Ленин
Krinkels.org - сжатие данных и создание инсталляторов

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

Отправлено: 01:49, 06-03-2012 | #932