Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cargar archivo de tipo de letra TTF (https://www.clubdelphi.com/foros/showthread.php?t=34174)

dabas 31-07-2006 02:50:50

Cargar archivo de tipo de letra TTF
 
¿Alguien sabe como se puede cambiar el tipo de letra de un Memo por ejemplo, dado un archivo externo *.TTF?

Gracias por tu ayuda.

Lepe 31-07-2006 10:06:56

El archivo TTF tienes que copiarlo en C:\windows\Fonts, despues ya puedes usarlo como otra fuente cualquiera.

Saludos

madriles 31-07-2006 12:20:03

usar fuentes temporalmente
 
hola
si lo que quieres es usar una fuente determinada, pero sin cargarla en las fuentes de windows puedes hacer lo siguiente

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
   AddFontResource('RutaCompletaDeLaFuente\nombre.ttf');
   SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0);
   Memo1.Font.Name := 'RutaCompletaDeLaFuente\nombre.ttf';
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   RemoveFontResource('RutaCompletaDeLaFuente\nombre.ttf'');
   SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0);
end;
para evitarte problemas es aconsejable que la fuente este en el directorio donde este tu ejecutable, aunque no es necesario.
un saludo

dabas 01-08-2006 01:39:43

No funciona bien del todo.
Esta linea debe contener el nombre de la fuente.

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
   ...
   Memo1.Font.Name :='nombre interno de la fuente';
end;

Como obtengo dicho nombre con una funcion?
Lo que pretendo es visualizar las fuentes que tengo en una carpeta sin tener que instalarlas en windows.

PD:
Evidentemente el evento no sera FormCreate
y si cada vez que pico en una lista para cargar una fuente, ¿cuando la descargo, o libero los recursos?

Gracias.

hackcgm 16-05-2010 06:46:04

Cita:

Empezado por dabas (Mensaje 149787)
No funciona bien del todo.
Esta linea debe contener el nombre de la fuente.

Código Delphi [-]procedure TForm1.FormCreate(Sender: TObject); begin ... Memo1.Font.Name :='nombre interno de la fuente'; end;


Como obtengo dicho nombre con una funcion?
Lo que pretendo es visualizar las fuentes que tengo en una carpeta sin tener que instalarlas en windows.

PD:
Evidentemente el evento no sera FormCreate
y si cada vez que pico en una lista para cargar una fuente, ¿cuando la descargo, o libero los recursos?

Gracias.

como puedo cargar todos los tipos de letra de windows en un memo

Draker 18-06-2010 20:40:09

Creo que seria mejor en un ListBox no?, jeje bueno eso digo yo, y lo harias de la siguiente manera:

Código Delphi [-]
    ListBox1.Items.Clear;
    ListBox1.Items := Screen.Fonts;
    ListBox1.ItemIndex := 0;

Claro solo las fuentes que tienes instaladas en el sistema.


La franja horaria es GMT +2. Ahora son las 00:20:38.

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