|
问题1:
代码如下:
/*
*********************************************************************************************************
* 函 数 名: _cbEnterPIN
* 功能说明: 第三个界面,输入密码
* 形 参:pMsg 参数指针
* 返 回 值: 无
*********************************************************************************************************
*/
static void _cbInsertCard(WM_MESSAGE* pMsg);
static void _cbEnterPIN(WM_MESSAGE* pMsg)
{
WM_HWIN hItem, hWin = pMsg->hWin;
static int PinError;
switch (pMsg->MsgId)
{
case WM_CREATE:
/* 创建后,设置聚焦 */
PinError = 0;
WM_SetFocus(hWin);
/* 创建小键盘,数值55是下面编辑框的高度和起始位置的和30+25=55*/
_CreateNumPad(hWin, FRAME_WIDTH >> 1, (55 + FRAME_HEIGHT)>>1); //就是这个地方:函数里给出了键盘的创建加回调函数,这都没问题,可是这个是在
case WM_CREATE:条件下做的,这个不是只在创建时才是这个类型吗,那创建可之后,不是就不进入在这个case语句了吗,可是它还是能正常的进入小键盘的回调函数
这个里面???????,希望指导一下
hItem = EDIT_CreateEx((FRAME_WIDTH >> 1) - 50, 30, 100, 25, hWin, WM_CF_SHOW, 0, GUI_ID_EDIT0, 4);
EDIT_SetFont(hItem, &GUI_FontYahei);
EDIT_SetTextAlign(hItem, GUI_TA_CENTER);
WIDGET_SetEffect(hItem, DEFAULT_WIDGET_EFFECT);
WM_DisableWindow(hItem);
break;
case WM_PAINT:
希望指导一下,谢谢
问题2:
我一直不太明白什么才是按键消息:
case WM_KEY:
switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key) //这个算是强制转化吗?,那他的键值又是怎么来的呢,很不理解,
{
case GUI_KEY_ESCAPE:
GUI_EndDialog(hWin, 1);
break;
case GUI_KEY_TAB:
WM_SetFocusOnNextChild(hWin);
break;
}
break;
先请教这两个问题吧,之后不明白再拉i问啊,谢谢硬汉哥, |
|