硬汉嵌入式论坛

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

[emWin] 求助硬汉哥关于中英文切换的问题

[复制链接]

22

主题

114

回帖

180

积分

初级会员

积分
180
发表于 2020-11-3 17:24:11 | 显示全部楼层 |阅读模式
硬汉哥,参考了您的ATM例程,发现中英文切换是有窗口覆盖过后才会显示英文,我想弄成点击英文按钮它就切换为英文界面怎么弄?还有参照例程里的_CreateButton函数却实现不了按钮的创建,这是为什么?
创建按钮代码如下
static WM_HWIN _CreateButton(WM_HWIN hParent, const char* pText, int Id, int x, int y, int w, int h, unsigned TextId)
{
        WM_HWIN hButton;
        hButton = BUTTON_CreateEx(x, y, w, h, hParent, WM_CF_SHOW, 0, Id);
       
        /* 获取当前创建按钮要显示的文本 */
        if (TextId)
        {
                pText = _GetLang(TextId);
        }
        BUTTON_SetText      (hButton,    pText);
        BUTTON_SetFont      (hButton,    FRAME_BUTTON_FONT);
        BUTTON_SetBkColor   (hButton, 0, FRAME_BUTTON_BKCOLOR0);
        BUTTON_SetBkColor   (hButton, 1, FRAME_BUTTON_BKCOLOR1);
        BUTTON_SetBkColor   (hButton, 2, FRAME_BUTTON_BKCOLOR2);
        BUTTON_SetTextColor (hButton, 0, FRAME_BUTTON_COLOR0);
        BUTTON_SetTextColor (hButton, 1, FRAME_BUTTON_COLOR1);
        BUTTON_SetTextColor (hButton, 2, FRAME_BUTTON_COLOR0);
        WIDGET_SetEffect    (hButton,    FRAME_BUTTON_EFFECT);
       
        /* 设置接收输入焦点的能力 */
        BUTTON_SetFocussable(hButton,    1);
       
        return hButton;
}


static void _cbDialogDeleteSetPage(WM_MESSAGE * pMsg){
        int                NCode;
        int                Id;
        WM_HWIN                hItem = pMsg->hWin;
        switch (pMsg->MsgId)
        {
               
                case WM_CREATE:
                        WM_SetFocus(hItem);
                        _CreateButton(hItem, "", GUI_ID_BUTTON0,  70, 190, 100, 40, TEXT_ID_OK);
                        _CreateButton(hItem, "", GUI_ID_BUTTON1,  220, 190, 100, 40, TEXT_ID_CANCEL);
                        break;

回复

使用道具 举报

7

主题

85

回帖

111

积分

初级会员

积分
111
发表于 2020-11-3 18:56:15 | 显示全部楼层
没必要重新创建呀,重新BUTTON_SetText设置你的显示内容就可以了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115804
QQ
发表于 2020-11-4 10:01:39 | 显示全部楼层
按照二楼坛友的方法即可,调用API批量修改就行。
回复

使用道具 举报

22

主题

114

回帖

180

积分

初级会员

积分
180
 楼主| 发表于 2020-11-4 10:46:59 | 显示全部楼层
eric2013 发表于 2020-11-4 10:01
按照二楼坛友的方法即可,调用API批量修改就行。

硬汉哥,参考了您的ATM例程,发现中英文切换是有窗口覆盖过后才会显示英文,没有覆盖过的地方还是中文,我想弄成点击英文按钮它就切换为英文界面怎么弄?我不想它延迟切换啊
回复

使用道具 举报

22

主题

114

回帖

180

积分

初级会员

积分
180
 楼主| 发表于 2020-11-4 17:32:12 | 显示全部楼层
JIKIMO 发表于 2020-11-3 18:56
没必要重新创建呀,重新BUTTON_SetText设置你的显示内容就可以了

什么重新创建?我只是想以这种方式创建按钮,方便我取到按钮上的字符,从而进行中英文转换啊,你说的那种不是又要重新写一堆BUTTON_SetText
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-20 06:54 , Processed in 0.230655 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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