OpenEdv-开源电子网

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

请教,输入法怎样增加提示栏?

[复制链接]

2

主题

13

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2013-11-8
在线时间
0 小时
发表于 2013-11-8 20:05:38 | 显示全部楼层 |阅读模式
我想在t9输入法原有的提示栏基础上,再增加一行提示栏。搞了两天没显示,请高手指点!!!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-11-8 23:07:40 | 显示全部楼层
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-11-8 23:07:54 | 显示全部楼层
你的思路是什么样的?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

13

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2013-11-8
在线时间
0 小时
 楼主| 发表于 2013-11-9 08:13:28 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
 哦,正点原子您好。我的思路是这样的。你的记事本功能里的输入法,设计的挺好的。在此基础上,我把码表都改成了两行(即一个键序只有两组音节)。这样一个音节窗口,对应一组汉字。两个音节对应两组汉字。说白了,如同在计算机打汉字,有两个提示行。我在你的实例里对提示行进行复制,窗口不能显示。。。。。。希望得到您的指点为盼!!!
回复 支持 反对

使用道具 举报

2

主题

13

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2013-11-8
在线时间
0 小时
 楼主| 发表于 2013-11-9 08:57:39 | 显示全部楼层


回复 支持 反对

使用道具 举报

2

主题

13

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2013-11-8
在线时间
0 小时
 楼主| 发表于 2013-11-9 09:03:34 | 显示全部楼层
上面的图是我想的理想状态。返回键放在音节框(音节不需按动),返回键只有按下【下一页】才显示。
回复 支持 反对

使用道具 举报

2

主题

13

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2013-11-8
在线时间
0 小时
 楼主| 发表于 2013-11-9 17:52:51 | 显示全部楼层
希望得到指导哦!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-11-9 18:04:13 | 显示全部楼层
我的侧边栏就是多个匹配显示啊。
你在返回键哪里搞2行显示,还是不明白要怎么用。
比如:我输入“548”是“刘”的拼音,你要显示2行,是想要什么效果?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

13

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2013-11-8
在线时间
0 小时
 楼主| 发表于 2013-11-9 19:03:56 | 显示全部楼层
我把字母排列变了,打拼音只显示两个音节就可以了。不需要选音节的过程,直接显示两排预选字就可以了。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-11-9 20:09:30 | 显示全部楼层
不解...
回复 支持 反对

使用道具 举报

2

主题

13

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2013-11-8
在线时间
0 小时
 楼主| 发表于 2013-11-9 20:49:13 | 显示全部楼层
哦,原子兄弟。希望您给指点:在你的T9拼音的程序上,增加一个提示栏的步骤即可。我买你的板子之前,没用过触摸屏。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-11-9 23:32:02 | 显示全部楼层
这个很简单吧,只需要把我原来的代码做修改就可以了。
主要改下面这个函数,及相关处理的修改:

//创建输入法控件
//整个区域:240宽,134高.
//主按钮:46*35.
//x间隔:2,2,2,3,1
//y间隔:2,2,2,1
//边按钮:46*21,最后一个22.
//文字选框:29*22,最后一个28.
//left,top:起始坐标.
//mode:模式
//[7:5]:0,保留
//[4:3]左侧纵向按钮状态)0,输入法切换状态;1,汉字输入状态;2,标点符号状态;
//[2:0]:0,拼音;1,123;2,abc;3,ABC,4,手写.
_t9_obj * t9_creat(u16 left,u16 top,u8 mode)
{
u8 i,t;
u16 temp;
u8 sta=0;
  _t9_obj * t9_crt;
  t9_crt=(_t9_obj*)gui_memin_malloc(sizeof(_t9_obj));//分配内存
if(t9_crt==NULL)return NULL;//内存分配不够.
t=1;
temp=23;//y方向的偏移
for(i=0;i<12;i++)
{
t9_crt->mbtn=btn_creat(left+48*t,top+temp,46,35,i,0X02);
if(t==4)
{
t=1;
temp+=37;//向下偏移37

}else t++;  
if(t9_crt->mbtn==NULL)
{
sta=1;//标记有内存申请失败.
break;
}
t9_crt->mbtn->caption=(u8*)t9_mbtnstr_tbl[0];
t9_crt->mbtn->bcfucolor=WHITE;//松开时为白色
t9_crt->mbtn->bcfdcolor=BLACK;//按下时为黑色
}
temp=0;
for(i=0;i<8;i++)
{
t9_crt->hbtn=btn_creat(left+30*i+1,top+1,29-temp,20,i+12,0X04);//文字按钮,背景色单一
t9_crt->hbtn->bcfucolor=BLACK;//松开时为黑色
t9_crt->hbtn->bcfdcolor=WHITE;//按下时为白色
  if(i==6)temp=1;//最后一个尺寸为28
if(t9_crt->hbtn==NULL)
{
sta=1;//标记有内存申请失败.
break;
}
}
  for(i=0;i<5;i++)
{
t9_crt->vbtn=btn_creat(left+1,top+i*22+23,44,21,i+20,0X04);//文字按钮,背景色单一
   if(t9_crt->vbtn==NULL)
{
sta=1;//标记有内存申请失败.
break;
}
t9_crt->vbtn->caption=(u8*)t9_vbtnstr_tbl;
t9_crt->vbtn->font=12;//为12字体
t9_crt->vbtn->bcfucolor=0XA535;//松开时为灰白色
t9_crt->vbtn->bcfdcolor=0X0000;//按下时为黑色
t9_crt->vbtn->bkctbl[0]=T9_PANEL_BKC;//松开时为输入法的背景
t9_crt->vbtn->bkctbl[1]=0XFFFF;//按下时背景为白色
}      
   if(sta)//未申请成功
{
t9_delete(t9_crt);
return NULL;
}  
t9_crt->top=top;
t9_crt->left=left;
t9_crt->width=240;
t9_crt->height=134;  
t9_crt->mode=mode;
t9_crt->sta=0;    
t9_crt->disstr=NULL;    
t9_crt->dispagenum=0;    
t9_crt->dispagecur=0;    
t9_crt->instr[0]=NULL;    
t9_crt->outstr[0]=NULL;    
t9_set_inputtype(t9_crt,0);//设置为拼音输入法
   return t9_crt;
}
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

28

主题

85

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
217
金钱
217
注册时间
2012-11-28
在线时间
0 小时
发表于 2013-11-10 11:26:17 | 显示全部楼层
回复【11楼】z81032643:
---------------------------------
可以讨论下,我之前也做了个T9输入法,用ucGUI做的界面。功能都可以实现,因为赶时间所以界面做的简单。
回复 支持 反对

使用道具 举报

2

主题

13

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2013-11-8
在线时间
0 小时
 楼主| 发表于 2013-11-10 20:10:08 | 显示全部楼层
原子兄弟,我最近别的事太多。恳请你帮我找个人,做一个界面出来。如4楼图所示。我可以付些费用。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-11-10 22:31:30 | 显示全部楼层
回复【14楼】z81032643:
---------------------------------
联系我师弟:
qq:971090672
电话:13431001891
姓名:小赵
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-9 10:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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