硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2231|回复: 9
收起左侧

[emWin] DROPDOWN下拉列表为何不能显示中文

[复制链接]

9

主题

42

回帖

69

积分

初级会员

大牛的形成也是时间与技术的积累

积分
69
QQ
发表于 2017-4-12 08:50:19 | 显示全部楼层 |阅读模式
hItem = DROPDOWN_CreateEx(120, 100, 250, 60, hBkDist, WM_CF_SHOW, GUI_TA_HCENTER|GUI_TA_VCENTER, GUI_ID_DROPDOWN0);
    //DROPDOWN_SetFont(hItem, &GUI_FontHZ24);   //这里显示了了“中文”两个字,中文字体是没什么问题的,在其它很多地方都用了这个字体
    //DROPDOWN_AddString(hItem, "中文");
   
    DROPDOWN_SetFont(hItem, &GUI_Font24B_ASCII);
    DROPDOWN_AddString(hItem, "Chinese");   
    DROPDOWN_AddString(hItem, "English(United States)");
    DROPDOWN_SetSel(hItem, SysPara.language); //Default value: -1
    DROPDOWN_SetUpMode(hItem, 0); //Dft: Onoff = 1
    DROPDOWN_SetItemSpacing(hItem, 5); //not included character's height
    我试过列表中有中英混合的情况和全中文的情况下,中文都显示不了,只能显示英文,请教下这是怎么回事?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2017-4-12 10:20:46 | 显示全部楼层
我测试了下,没问题啊,测试的是我们V6板子上面的GB2312全字库,例子模板在这里:http://www.armbbs.cn/forum.php?mod=viewthread&tid=19834
回复

使用道具 举报

34

主题

112

回帖

214

积分

高级会员

积分
214
发表于 2019-4-17 21:45:34 | 显示全部楼层
Hi 版主,我參考 第22章 C 文件格式的汉字生成和实现(Unicode编码)
但再使用DROPDOWN時,怪怪的,如下

                hItem = WM_GetDialogItem(hWin, ID_DROPDOWN_0);
               
                DROPDOWN_SetFont(hItem, &GUI_FontToday_avg30);
                DROPDOWN_AddString(hItem, "今日平均值");       
                DROPDOWN_SetFont(hItem, &GUI_FontToday_max30);
                DROPDOWN_AddString(hItem, "今日最大值");       
                DROPDOWN_SetFont(hItem, &GUI_FontToday_min30);
                DROPDOWN_AddString(hItem, "今日最小值");       
                DROPDOWN_SetFont(hItem, &GUI_FontThreeday_avg30);
                DROPDOWN_AddString(hItem, "前三天平均值");       
                DROPDOWN_SetFont(hItem, &GUI_FontThreeday_max30);
                DROPDOWN_AddString(hItem, "前三天最大值");       
                DROPDOWN_SetFont(hItem, &GUI_FontThreeday_min30);
                DROPDOWN_AddString(hItem, "前三天最小值");       
                DROPDOWN_SetFont(hItem, &GUI_FontSixday_avg30);
                DROPDOWN_AddString(hItem, "前六天平均值");       
                DROPDOWN_SetFont(hItem, &GUI_FontSixday_max30);
                DROPDOWN_AddString(hItem, "前六天最大值");       
                DROPDOWN_SetFont(hItem, &GUI_FontSixday_min30);
                DROPDOWN_AddString(hItem, "前六天最小值");       

                       
                DROPDOWN_SetItemSpacing(hItem, 15);
                DROPDOWN_SetSel(hItem, 0);

擷取.JPG

當只有放一個名稱的時候,正常

第二個後 就不正常了,有解嗎?

謝謝

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-4-18 11:13:18 | 显示全部楼层
fcdxsdxsza 发表于 2019-4-17 21:45
Hi 版主,我參考 第22章 C 文件格式的汉字生成和实现(Unicode编码)
但再使用DROPDOWN時,怪怪的,如下
...

这个像是有些汉字没有生成吧。
回复

使用道具 举报

34

主题

112

回帖

214

积分

高级会员

积分
214
发表于 2019-4-18 11:26:24 | 显示全部楼层
本帖最后由 fcdxsdxsza 于 2019-4-18 15:15 编辑

Hi,版主

你能模擬看看,就會發現,怪怪的


Sixday_min30.c (10.58 KB, 下载次数: 17)
Sixday_max30.c (10.58 KB, 下载次数: 10)
Sixday_avg30.c (10.58 KB, 下载次数: 11)
Threeday_min30.c (10.65 KB, 下载次数: 11)
Threeday_max30.c (10.65 KB, 下载次数: 14)
Threeday_avg30.c (10.65 KB, 下载次数: 15)
Today_min30.c (9.22 KB, 下载次数: 7)
Today_max30.c (9.22 KB, 下载次数: 7)
Today_avg30.c (9.22 KB, 下载次数: 9)


謝謝

補充一下 ,你必須要試2個以上 才會不正常!

一個都時候是正常的,兩個以上的中文選項,會出現異常

謝謝
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-4-18 19:01:09 | 显示全部楼层
fcdxsdxsza 发表于 2019-4-18 11:26
Hi,版主

你能模擬看看,就會發現,怪怪的

发个模拟器上面能测试的程序,我试试。
回复

使用道具 举报

34

主题

112

回帖

214

积分

高级会员

积分
214
发表于 2019-4-18 19:24:45 | 显示全部楼层
eric2013 发表于 2019-4-18 19:01
发个模拟器上面能测试的程序,我试试。

Test.c (25.82 KB, 下载次数: 13)


這兩個
                DROPDOWN_SetFont(WM_GetDialogItem(hWin, GUI_ID_DROPDOWN0), Fonts[0]);
                DROPDOWN_AddString(WM_GetDialogItem(hWin, GUI_ID_DROPDOWN0), Name[0]);


Fonts[0] 跟 Name[0] 為 繁體中文
Fonts[1] 跟 Name[1] 為 簡體中文
Fonts[2] 跟 Name[2] 為 英文
由於字的關係 0跟1是呈現一樣

英文 為正常

ps 電腦模擬的,連中文都不會顯示....如圖
未命名.jpg

但單晶片上可以顯示中文但是錯誤的,如圖
擷取.JPG
正確的應該為

今日平均值
今日最大值
今日最小值


麻煩版主了,謝謝

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-4-19 03:41:19 | 显示全部楼层
fcdxsdxsza 发表于 2019-4-18 19:24
這兩個
                DROPDOWN_SetFont(WM_GetDialogItem(hWin, GUI_ID_DROPDOWN0), Fonts[0]);
                DROPDOWN_ ...

白天了就给你测试下,现在有点晚了。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-4-19 12:35:27 | 显示全部楼层
fcdxsdxsza 发表于 2019-4-18 19:24
這兩個
                DROPDOWN_SetFont(WM_GetDialogItem(hWin, GUI_ID_DROPDOWN0), Fonts[0]);
                DROPDOWN_ ...

QQ截图20190419123841.jpg

回复

使用道具 举报

34

主题

112

回帖

214

积分

高级会员

积分
214
发表于 2019-4-19 13:54:34 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-17 20:01 , Processed in 0.504612 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表