PDA

Ver la Versión Completa : Añadir a mi aplicación una true type especial


manuweb
26-01-2007, 20:55:31
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:


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 [-] (http://www.clubdelphi.com/foros/#)
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 . . .