金牌会员
- 积分
- 2317
- 金钱
- 2317
- 注册时间
- 2016-12-2
- 在线时间
- 354 小时
|
发表于 2018-7-23 23:18:51
|
显示全部楼层
本帖最后由 sammy902583 于 2018-7-23 23:21 编辑
原来是文字打不进去, 那你要先把字串先转成数字array, 带到GUI_UC_DispString()里面,
先写个转码程序给VC或gcc compile后运行:
#include <wchar.h>
#include <stdio.h>
const wchar_t szStringRu[] = L"Вернуться в предыдущее меню";
const wchar_t szStringJp[] = L"前のメニューに戻る";
const wchar_t szStringKr[] = L"이전 메뉴로 돌아 가기";
void DumpStringToInteger(const wchar_t *pString)
{
printf ("{\n");
while (*pString != 0)
{
printf("0x%04X, ", *pString);
pString ++;
}
printf("0 };\n");
}
int main()
{
printf("const uint16_t szStringRu[] = ");
DumpStringToInteger(szStringRu);
printf("const uint16_t szStringJp[] = ");
DumpStringToInteger(szStringJp);
printf("const uint16_t szStringKr[] = ");
DumpStringToInteger(szStringKr);
return 0;
}
得到输出,
const uint16_t szStringRu[] = {
0x0412, 0x0435, 0x0440, 0x043D, 0x0443, 0x0442, 0x044C, 0x0441, 0x044F, 0x0020, 0x0432, 0x0020, 0x043F, 0x0440, 0x0435, 0x0434, 0x044B, 0x0434, 0x0443, 0x0449, 0x0435, 0x0435, 0x0020, 0x043C, 0x0435, 0x043D, 0x044E, 0 };
const uint16_t szStringJp[] = {
0x524D, 0x306E, 0x30E1, 0x30CB, 0x30E5, 0x30FC, 0x306B, 0x623B, 0x308B, 0 };
const uint16_t szStringKr[] = {
0xC774, 0xC804, 0x0020, 0xBA54, 0xB274, 0xB85C, 0x0020, 0xB3CC, 0xC544, 0x0020, 0xAC00, 0xAE30, 0 };
把array贴到Keil C, 然后带入emWin的function
GUI_DispString_UC(szStringRu);
GUI_DispString_UC(szStringJp);
GUI_DispString_UC(szStringKr);
|
|