硬汉嵌入式论坛

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

[emWin] 本人用emwin创建了一个button不显示中文

[复制链接]

5

主题

19

回帖

5

积分

新手上路

积分
5
发表于 2014-5-8 10:50:23 | 显示全部楼层 |阅读模式
本人用emwin创建了一个button不显示中文,不知道是怎么回事,也按照那个第五期教程进行操作了,不知道哪里有问题?
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
  { WINDOW_CreateIndirect, "Window", ID_WINDOW_0, 0, 0, 240, 128, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "油", ID_BUTTON_0, 5, 5, 60, 24, 0, 0x0, 0 },
  { TEXT_CreateIndirect, "2014-03-19 12:00", ID_TEXT_0, 146, 1, 92, 14, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "Data", ID_BUTTON_1, 5, 30, 60, 24, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "Settime", ID_BUTTON_2, 5, 55, 60, 24, 0, 0x0, 0 },
  { BUTTON_CreateIndirect, "Language", ID_BUTTON_3, 5, 80, 60, 24, 0, 0x0, 0 },
  { TEXT_CreateIndirect, "English", ID_TEXT_1, 75, 85, 80, 20, 0, 0x0, 0 },
  // USER START (Optionally insert additional widgets)
  // USER END
};
在显示ID_BUTTON_0的时候是空白的
void InitDialog(WM_MESSAGE * pMsg)
{
    WM_HWIN hWin = pMsg->hWin;
    GUI_UC_SetEncodeUTF8();
    BUTTON_SetFont(WM_GetDialogItem(hWin,GUI_ID_BUTTON0),&GUI_Fontweiruanyahei20);
}
static void _cbDialog(WM_MESSAGE * pMsg) {
  int NCode;
  int Id;
  // USER START (Optionally insert additional variables)
  // USER END
    WM_HWIN hWin = pMsg->hWin;
  switch (pMsg->MsgId) {
    case WM_PAINT:
        PaintDialog(pMsg);
    break;
    case WM_INIT_DIALOG:
        InitDialog(pMsg);
    break;
  case WM_NOTIFY_PARENT:

void MainTask(void)
{
    //BUTTON_SetDefaultSkin(BUTTON_SKIN_FLEX); // Sets the default skin for new widgets
    //CHECKBOX_SetDefaultSkin (CHECKBOX_SKIN_FLEX);
    //GUI_UC_SetEncodeUTF8();
    //TEXT_SetTextColor(WM_GetDialogItem(hWin,GUI_ID_TEXT0), GUI_RED);
    //TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT0),&GUI_FontSongFont16);
    //GUI_SetFont(&GUI_Fontweiruanyahei20);
    //GUI_DispStringAt("油", 30, 30);
    //while(1);
    //GUI_ExecDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), &_cbDialog, 0, 0, 0);
    GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), &_cbDialog, 0, 0, 0);
    while(1){
        GUI_Delay(10);
    }
}

调用这个GUI_DispStringAt("油", 30, 30);,可以打印出中文来,不知道我哪里有问题,帮主帮我看下可以吗?
回复

使用道具 举报

5

主题

19

回帖

5

积分

新手上路

积分
5
 楼主| 发表于 2014-5-8 10:58:01 | 显示全部楼层
不知道怎么突然解决了,郁闷!!就重新创建了一下又可以了,可能文件格式问题吧
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107217
QQ
发表于 2014-5-8 13:51:14 | 显示全部楼层
UTF-8很重要
回复

使用道具 举报

0

主题

10

回帖

10

积分

新手上路

积分
10
发表于 2014-6-6 15:51:27 | 显示全部楼层
我也出现这种问题了 GUI_DispString可以显示汉字 但类似的创建button   { BUTTON_CreateIndirect, "油", ID_BUTTON_0, 5, 5, 60, 24, 0, 0x0, 0 }, 就显示乱码了 那个文件我改成utf-8格式了
回复

使用道具 举报

2

主题

20

回帖

26

积分

新手上路

积分
26
发表于 2014-6-14 00:56:32 | 显示全部楼层
我也遇到楼上的问题了,按照例程就出现乱码了 请问解决了吗?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-21 16:33 , Processed in 0.205459 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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