Pregunta: | 33133 - ¿CÓMO SE PUEDE AÑADIR UNA FUENTE DESDE UNA APLICACIÓN? |
Autor: | O.Bernal |
Hola
He desarrolado una aplicación que debe usar un deterninada Font. Necesito que la aplicación pueda usar ese mismo tipo de letra en cualquier ordenador, aunque no esté instalada. ¿Alguien me puede dar una idea? Gracias anticipadas. |
Respuesta: | Miguel Lucero |
Acá va el truco:
Para cargarlo, (por ejemplo en el evento OnCreate de tu form): procedure TForm1.FormCreate(Sender: TObject); begin AddFontResource('D:\FONTS\FUENTE.TTF'); SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0); end; Y al salir de tu aplicación, lo liberas con: procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin RemoveFontResource('D:\FONTS\FUENTE.TTF'); SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0); end; La ubicación de la fuente puede ser la misma que la aplicación por lo que deberías cambiar D:\FONTS por la ruta de la de aplicación o usar la función ExtractFilePath( Application.Exename) para saber en que ruta está tu exe. |