Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Añadir a mi aplicación una true type especial (https://www.clubdelphi.com/foros/showthread.php?t=39678)

manuweb 26-01-2007 20:55:31

Añadir a mi aplicación una true type especial
 
Hola a tod@s.

¿Como puedo hacer que mi ejecutable tenga o incluya su propia tipografía?

Necesito que el programa use una true type especial e incluirla en el "paquete" para que al usar el programa en otro PC no necesite tranportar el fichero de la true type y a demás instalarlo aparte.

¿Es factible? ¿hay alguna opción en la compilación?

He leido algo sobre AddFontResource pero no se como va.

Uso Delphi 6.

Gracias.

manuweb 28-01-2007 20:00:42

Buscando por la red he encontroado esto:

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
var
sDirectorio: String;
sFichero1: String;
Begin
  sDirectorio:=ExtractFilePath(Application.ExeName);
  sFichero1:=sDirectorio+'\font\tipografia.TIF';
  AddFontResource(PChar(sFichero1)) ;
  SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;
end;
 
procedure TForm1.FormDestroy(Sender: TObject);
var
sDirectorio: String;
sFichero1: String;
Begin
  sDirectorio:=ExtractFilePath(Application.ExeName);
  sFichero1:=sDirectorio+'\font\tipografia.TIF';
  RemoveFontResource(PChar(sFichero1)) ;
  SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;
end;

El caso es que esto no me funciona. Quizas con win 98. En Win XP no va.

Sé que se puede añadir usando Install Shield o QSetup (con este lo he probado y va bien).

Gracias.

manuweb 29-01-2007 13:04:11

:) :) :)

Lo he conseguido. Simplemente asigno el tipo de letra en el FormCreate y no cuando estoy desarrollando:


Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
var
sDirectorio: String;
sFichero1: String;
Begin
sDirectorio:=ExtractFilePath(Application.ExeName);
sFichero1:=sDirectorio+'\font\tipografia.TIF';
AddFontResource(PChar(sFichero1)) ;
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;
Label1.Font.Name:= 'Nombredelafuente';
end;





:D :D

manuweb 29-01-2007 13:05:46

Ups.

Duplicado . . .


La franja horaria es GMT +2. Ahora son las 16:48:38.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi