Consejos generales sobre la programación con MBCS
Utilice las sugerencias siguientes:
Para disponer de flexibilidad, utilice macros en tiempo de ejecución, como _tcschr y _tcscpy, si es posible. Para obtener más información, vea Asignaciones de texto genérico en Tchar.h.
Utilice la función _getmbcp en tiempo de ejecución de C para obtener información acerca de la página de códigos actual.
No reutilice los recursos de cadena. En función del idioma de destino, una cadena determinada puede tener un significado distinto cuando se traduce. Por ejemplo, "File" en el menú principal de una aplicación puede traducirse de modo diferente a la cadena "File" de un cuadro de diálogo. Si necesita utilizar más de una cadena con el mismo nombre, utilice identificadores diferentes para cada una de ellas.
Puede que desee saber si una aplicación se está ejecutando en un sistema operativo habilitado para MBCS. En tal caso, establezca un marcador durante el inicio del programa; no confíe en las llamadas a la API.
En el diseño de cuadros de diálogo, deje aproximadamente un 30% de espacio adicional al final de los controles de texto estático para la conversión de MBCS.
Tenga cuidado al seleccionar fuentes para la aplicación, ya que algunas no están disponibles en todos los sistemas. Por ejemplo, la versión japonesa de Windows 2000 no admite la fuente Helvetica.
Al seleccionar la fuente para los cuadros de diálogo, utilice MS Shell Dlg en lugar de MS Sans Serif o Helvetica. MS Shell Dlg se reemplaza por la fuente correcta en el sistema antes de crear el cuadro de diálogo. El uso de MS Shell Dlg asegura que los cambios en el sistema operativo que tengan que ver con esta fuente estarán disponibles de forma automática. MFC reemplaza MS Shell Dlg por DEFAULT_GUI_FONT o la fuente System en Windows 95, Windows 98 y Windows NT 4, debido a que estos sistemas no controlan MS Shell Dlg correctamente.
En el diseño de la aplicación, debe decidir las cadenas que pueden localizarse. Si tiene dudas, debe suponer que una cadena dada se localizará. En este sentido, no mezcle cadenas que se pueden localizar con las que no.