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:
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. // 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);
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!