Demo de emoji de color twinbasic DirectX
Desafortunadamente, las funciones básicas de GDI de Windows no admiten fuentes coloreadas, por lo que incluso si tiene controles de soporte de unicode, sus emojis solo se mostrarían en blanco y negro, al igual que cuando los pega en Windows Explorer. Esta es una demostración simple que muestra cómo usar Direct2D y DirectWrite para mostrar emojis en color. Se basa principalmente en este ejemplo de C ++ por Code Doggo; Para simplificar, lo pongo directamente en un formulario en lugar de crear mi propia ventana, lo que sería menos útil para los programadores de TB de todos modos. Hay un uso limitado en este foro actual, el objetivo final aquí sería convertir esto en un control de edición.
ACTUALIZACIÓN (03 de marzo de 2024): .TwinProj se ha actualizado para usar una versión más reciente de Windevlib (anteriormente Tbshelllib) debido a los errores en el paquete que TB no planteó en el momento en que se lanzó este proyecto.
ACTUALIZACIÓN (19 de diciembre de 2023): .twinproj actualizado para hacer referencia a Windevlib (anteriormente Tbshelllib) 7.0-- Esto elimina los errores del paquete que TB no recaudó en el momento en que este proyecto se lanzó inicialmente.
Actualización (12 de mayo de 2023): Proyecto actualizado para usar una nueva versión pública actual de TBShellLib; Anteriormente usaba una versión privada que diferente del lanzamiento público actual. Si tuvo problemas con esto en un nuevo proyecto, simplemente actualice la referencia TBSHELLLIB.
Oficialmente, las fuentes de colores solo son compatibles con Windows 8 y más nuevas. Si tiene instaladas las actualizaciones adecuadas, puede funcionar en 7, pero si no lo hace, ya que MS dice que no puede en absoluto, no me inclinaría a volver a encontrar los pasos exactos.
Twinbasic Beta 299 o más nuevo se reomdega para compilar; Las versiones anteriores solo funcionarán cuando se compilan.
Esto requiere que mi paquete TBShellLib, versión 4.6.142 o superior, se agregue a su proyecto, si está comenzando uno nuevo (ya está incluido en el archivo .twinproj aquí).
No hay dependencias externas.
También hay una versión VB6 de este proyecto, utilizando oleexp.tlb en lugar de tbshelllib
[Vb6/win8+] usando DirectX para mostrar emojis con color