【求助】利用X Free86函数,实现文本区域的中文显示的问题
我的项目本地化,使用的图形化显示函数都是X11R6的库函数(X Free 86),我现在碰到了一个比较棘手的问题,所以求助。
我需要显示纯文本内容,自己定义的结构体如下:
typedef struct
{
char *pchLabel; /* Label string for the panel */
int iTextPosition; /* Text area starting position(1 - 100) for default0 */
TextType eTextType;/*Text Data type-ceMixedCase, ceUpperCase...*/
int iFieldLength; /* Length of the text area */
int iStringLength; /* Length of the text string */
char *pchText; /* Contents to the text field */
char *pchUnits; /* Units label */
char *pchDefault; /* Default string i */
unsigned uAttributes; /* ceInsensitive | ceNoneditable | ceDefButton */
TextCB callback; /* Text field callback */
void *pvData; /* Callback data */
} TextPanel;
pchLabel是显示标签名,而pchText是显示标签后的具体提示内容的,例如:
Wire Name: LOOP WIRE
pchLabel的数据是Wire Name: ,而pchText是 LOOP WIRE。
现在,我们用来实现pchText的最终显示的函数实现语句是:
_pchText( STRDUP( pchText ) ), -------> 赋值
.......
XmTextFieldSetString (_widget, _pchText); --------->显示
即,将_pchText的数据信息显示 _widget上。
现在的问题是,XmTextFieldSetString() 函数并不支持中文数据的显示。即如果
_pchText的数据是中文编码数据,则显示的将是乱码。我也曾尝试使用宽编码函数
XmTextFieldSetStringWcs(),但还是不行,也可能是我使用方法的问题。
不知道哪位大虾知道X Free 86下有什么相似的函数可以直接支持中文显示的??文本区域的数据中文显示!!
万分感谢!!