嵌入式学习小组
直播中

陈芮雪

7年用户 227经验值
私信 关注

请问怎么通过EDIT文本编辑控件输入字符然后读取?

想做一个简单的密码输入界面,通过键盘输入数字,然后读取数字与预定的数字进行对比,现在就是不知道如何获取键盘输入的数字???哪位高手指点一下。下面为ucgui说明文档自带的一段程序,我添加进去之后说找不到 GUI_ID_ESCAPE:和GUI_ID_CANCEL:请问这是怎么回事呢?
static int Edit(void)
{
int Key;
EDIT_Handle hEdit;
char aBuffer[28] ;
GUI_SetFont(&GUI_Font8x16);
GUI_DispStringHCenterAt(“Use keyboard to modify string... ”, 160, 0);
/* 创建编辑框控件 */
hEdit = EDIT_Create( 50, 20, 219, 25, ‘ ‘, sizeof(aBuffer), 0 );
/* 修改编辑框控件 */
EDIT_SetText(hEdit, “Press when done... ”);
EDIT_SetFont(hEdit, &GUI_Font8x16);
EDIT_SetTextColor(hEdit, 0, GUI_RED);
/* 操作键盘直到 ESC 或 ENTER 键被按下 */
第 32 页 ?C/GUI 中文手册
第 13 章 窗口对象(控件)
do
{
Key = GUI_WaitKey();
switch(Key)
{
case GUI_ID_ESCAPE:
case GUI_ID_CANCEL:
break;
default:
EDIT_AddKey(hEdit, Key);
}
} while((Key != GUI_ID_ESCAPE) &&(Key != GUI_ID_ENTER) &&(Key != 0)); /* 从
编辑框控件取出结果 */
if(Key == GUI_ID_ENTER)
EDIT_GetText(hEdit, aBuffer, sizeof(aBuffer));
else
aBuffer[0] = 0;
EDIT_Delete(hEdit);
GUI_DispStringHCenterAt(aBuffer, 160, 50);
return Key;
}
/***************************************************************************
*  主函数   *
***************************************************************************/
void main(void)
{
GUI_Init();
Edit( ) ;
while(1)
GUI_Delay(100);
}

回帖(1)

荣春梅

2019-3-28 08:43:04
void EDIT_GetText(EDIT_Handle hObj, char* sDest, int MaxLen);通过这个函数就可以读取EDIT中输入的数据
(二)EDIT_SetText(WM_GetDialogItem(hWin,GUI_ID_EDIT0),"   ");通过这个函数就可以显示一串字符串,
举报

更多回帖

发帖
×
20
完善资料,
赚取积分