Foros del Web » Programación para mayores de 30 ;) » C/C++ »

mostrar caracteres chinos en un edit box en concreto

Estas en el tema de mostrar caracteres chinos en un edit box en concreto en el foro de C/C++ en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 07/10/2010, 08:40
 
Fecha de Ingreso: agosto-2007
Mensajes: 20
Antigüedad: 16 años, 8 meses
Puntos: 1
mostrar caracteres chinos en un edit box en concreto

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!

Etiquetas: box, caracteres, edit
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:57.