Hola a todos,
Dispongo de una aplicación muy extensa realizada en visual c++ 6.0. Necesitaría visualizar correctamente en un edit box caracteres chinos. he probado con un código de este estilo :
Código:
// create UNICODE Font and apply it to the controls.
CDC *pDC = GetDC();
CFont m_font;
// create UNICODE font
LOGFONT lf;
memset(&lf, 0, sizeof(lf));
lf.lfHeight = 20;
lf.lfWeight = FW_NORMAL;
lf.lfOutPrecision = OUT_TT_ONLY_PRECIS;
lf.lfCharSet = GB2312_CHARSET;
strcpy(lf.lfFaceName, _T("SimSun")); //copia el tipus de lletra a lf.lfFaceName ( canviat strcpy )
m_font.CreateFontIndirect(&lf);
// apply the font to the controls
m_Lliure1.SetFont(&m_font,true);
// release the device context.
ReleaseDC(pDC);
compila, pongo los caracteres en el editbox pero cuando los confirmos con doble espacio a través del teclado virtual para chino me aparece un ? por cada símbolo.
Creo que es porque no tengo las directivas _UNICODE en el settings->preprocessor ni tampoco la opción wWinMainCRTStartup en SETTINGS->LINK->OUTPUT. Si las activo, obtengo más de 300 errores de compilación, debido a lo extenso que es mi código y la multitud de apariciones relacionadas con strings i caracteres que tiene.
No es posible utilizar unicode solo para este edit box en concreto sin tener que cambiar todo el código? muchas gracias!