Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Lazarus, FreePascal, Kylix, etc. (https://www.clubdelphi.com/foros/forumdisplay.php?f=14)
-   -   Usar fuentes no instaladas en Lazarus (https://www.clubdelphi.com/foros/showthread.php?t=90332)

rrf 19-05-2016 10:52:05

Usar fuentes no instaladas en Lazarus
 
Hola.

¿Es posible en Lazarus usar fuentes que no se han instalado?, ¿alguien sabe cómo hacerlo o donde hay algún enlace que explique cómo hacerlo?.

He buscado y he encontrado este código (para Delphi), pero no funciona en Lazarus (uso la versión 1.6).



Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject) ;
 begin
 
   AddFontResource('c:\FONTS\MyFont.TTF') ;
   SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;
 end;
 
{Before application terminates we must remove our font:}
 procedure TForm1.FormDestroy(Sender: TObject; var Action: TCloseAction) ;
 begin
   RemoveFontResource('C:\FONTS\MyFont.TTF') ;
   SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;
 end;

Saludos.

dec 19-05-2016 11:43:41

Hola,

Igual tienes que declarar la función o algo, pero, "AddFontResource" pertenece al API de Windows y no a Delphi en particular.

rrf 20-05-2016 13:08:24

Gracias por tu comentario David. Pensaba que pertenecía a Delphi.

He encontrado una explicación detallada en este enlace:

http://www.pascalgamedevelopment.com...in-application

Incluí ShellAPI en el uses y añadí el código del enlace anterior, y da errores al compilar.

Uno de los mensajes que aparecen es:
"Error: Identifier not found "AddFontResource""

Y lo mismo pasa con: RemoveFontResource, SendMessage, HWND_BROADCAST y WM_FONTCHANGE cuando se compila.

No tengo experiencia usando las órdenes del API de Windows y supongo que falta algo que desconozco.

¿Alguien tiene alguna sugerencia?.

Gracias y saludos.

rrf 23-05-2016 10:33:38

He probado el código de
Cita:

Empezado por rrf (Mensaje 505371)
...
He encontrado una explicación detallada en este enlace:

http://www.pascalgamedevelopment.com...in-application ...

en Delphi 7 con Windows XP y funcionó sin problema.

Esa aplicación la convertí en una aplicación Lazarus usando Lazarus y no dió problemas en la conversión.

Sin embargo, al compilar, aparecieron los mismos errores, aunque no consideraba como un error 'WM_FONTCHANGE', cosa que sí que ocurría en mis anteriores intentos.

Supongo que Lazarus no puede trabajar con órdenes como esa o hay que hacer algo que desconozco.

Saludos.


La franja horaria es GMT +2. Ahora son las 04:19:39.

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