OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5534|回复: 4

UCGUI编辑框输入死机。。

[复制链接]

2

主题

6

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2012-12-1
在线时间
3 小时
发表于 2012-12-16 12:13:28 | 显示全部楼层 |阅读模式

RT
就是实现简单地在编辑框中输入文本(序列号),光标左移右移,后退删除确认输入的功能。
程序里目前定义了5个按键分别是右移、左移、后退删除、确认输入、‘0’ 键(做输入测试用)
现在的问题是我将焦点转到EDIT框后,按‘0’键输入字符就会死机,按其他按键目前无异常。
以下是我写的EDIT框函数,个人觉得可能是指针出了问题,请各位大大帮忙看一下。。
/*******************************************************************************
* Function Name  : Edit_Delete,Edit_Input,Edit_MoveLeft,Edit_MoveRight
* Description    : 编辑框内光标操作函数.
* Input    : None,char keyvalue
* Output   : None
* Return   : None
*******************************************************************************/
MaxNum_Serial//宏定义序列号的最大字符数
Edit_CurPos//宏定义目前的光标位置
Edit//全局变量EDIT框的句柄
void Edit_Delete()//后退删除功能
{
 /*if(0 != Edit_CurPos)
 {
     Edit_CurPos--;
 }*/
}
//在当前光标处插入字符
void Edit_Input(char keyvalue)//输入功能
{
     int num,count;
     char *p;
     char text[MaxNum_Serial];
     if(MaxNum_Serial > Edit_CurPos)
     {  
          num=EDIT_GetNumChars(Edit);
          count=num-Edit_CurPos;
          EDIT_GetText(Edit,text,MaxNum_Serial);
          p=text;
          while(*p != '\0')
          {
               p++;
          }
          p++;
          while(count--)
         {
               *p=*(p-sizeof(char));
               p--;
          }
          *p=keyvalue;

          EDIT_SetText(Edit, tr(text));
          Edit_CurPos++;
         }
}
void Edit_MoveLeft()

     if(0 < Edit_CurPos)
     {
          EDIT_SetCursorAtChar(Edit,Edit_CurPos-1);
     }
}
void Edit_MoveRight()
{
     if((MaxNum_Serial > Edit_CurPos)&&(EDIT_GetNumChars(Edit)) > Edit_CurPos)
     {
          EDIT_SetCursorAtChar(Edit,Edit_CurPos+1);
     }
}

沉默是金
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2014-3-7
在线时间
6 小时
发表于 2014-6-26 17:47:11 | 显示全部楼层

楼主请教你一个问题

      我切换一个窗口之后,点击文本编辑框的时候出现输入光标   然后我切换到另外一个窗口 就死机复位了,如果不点击文本编辑框,切换窗口,运行又是正常的。这是什么情况 。(切换的时候已经把相应的窗口的删除了) 在输入文本编辑框的时候需要注意什么问题吗? 能否指点一下 万分感谢!
回复 支持 反对

使用道具 举报

65

主题

440

帖子

0

精华

高级会员

Rank: 4

积分
782
金钱
782
注册时间
2012-8-29
在线时间
17 小时
发表于 2014-9-15 17:04:11 | 显示全部楼层
遇到相似问题了,我的显示游标箭头时候,如果点击EDIT就立刻死机,游标显示 不会死机
人生永远追逐着幻光,但谁把幻光看作幻光,谁便沉入无边的苦海
回复 支持 反对

使用道具 举报

65

主题

440

帖子

0

精华

高级会员

Rank: 4

积分
782
金钱
782
注册时间
2012-8-29
在线时间
17 小时
发表于 2014-9-16 08:55:59 | 显示全部楼层
回复【3楼】sun_shine:
---------------------------------
我的问题已解决,GUI_ALLOC_SIZE动态分配的内存定义的大一些 就可以解决了。
人生永远追逐着幻光,但谁把幻光看作幻光,谁便沉入无边的苦海
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2015-12-17
在线时间
5 小时
发表于 2015-12-17 19:49:34 | 显示全部楼层
回复【2楼】wanglangtao:
---------------------------
您好,我遇到了和您一模一样的问题了,您是怎么解决的呢?谢谢啊
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 09:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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