2010-04-23 17 views
6

Quiero hacer un cuadro combinado con todas las fuentes instaladas de la computadora enumeradas en él. No estoy seguro de cómo se hace esto. ¿Necesito acceder al registro para obtener esto? GraciasObtener lista de fuentes (Win32)

+0

Gran solución en C# aquí: http://stackoverflow.com/questions/3486546/enumerating-active-fonts-in-c-sharp-using-dll-call-to-enumfontfamiliesex-has-me – user20493

Respuesta

8

Debe utilizar la función de API Win32 EnumFontFamiliesEx. Llama a esa función, pasando una función de devolución de llamada que coincida con el tipo de EnumFontFamExProc. La función de devolución de llamada se llama una vez para cada fuente encontrada por EnumFontFamiliesEx.

Recomiendo usar la versión Unicode (EnumFontFamiliesExW), ya que he visto la versión ascii (EnumFontFamiliesExA) mostrar un comportamiento muy extraño para las fuentes del idioma del este de Asia.

Los artículos vinculados tienen un código de ejemplo.

4

La manera winapi de hacerlo es usando la función EnumFontFamiliesEx. Debería pasar una estructura completa con el parámetro predeterminado DEFAULT_CHARSET para mostrar todas las fuentes instaladas.

Consulte MSDN para obtener más información.

+0

O 'EnumFontFamilies 'si no necesitas todas esas habilidades" Ex "... –

Cuestiones relacionadas