如何用按键来选中emwin界面中的按键
1个回答
展开全部
翻看了emwin关于edit的官方例程,得到一点启示:
为listbox控件自定义一个回调函数,通过回调函数捕获ENTER键值,并自定义一个消息发给主窗口。
在官方edit例程中,自定义的回调函数是这样处理的:
/*********************************************************************
*
* _cbEdit
*/
static void _cbEdit(WM_MESSAGE * pMsg) {
const WM_KEY_INFO * pInfo;
WM_MESSAGE Msg;
switch (pMsg->MsgId) {
case WM_KEY:
pInfo = (WM_KEY_INFO *)pMsg->Data.p;
if (pInfo->Key == GUI_KEY_ENTER) {
if (pInfo->ressedCnt == 0) {
Msg.MsgId = WM_APP_SHOW_TEXT;
Msg.hWinSrc = pMsg->hWin;
WM_SendMessage(WM_HBKWIN, &Msg);
return;
}
}
}
EDIT_Callback(pMsg);
}
为listbox控件自定义一个回调函数,通过回调函数捕获ENTER键值,并自定义一个消息发给主窗口。
在官方edit例程中,自定义的回调函数是这样处理的:
/*********************************************************************
*
* _cbEdit
*/
static void _cbEdit(WM_MESSAGE * pMsg) {
const WM_KEY_INFO * pInfo;
WM_MESSAGE Msg;
switch (pMsg->MsgId) {
case WM_KEY:
pInfo = (WM_KEY_INFO *)pMsg->Data.p;
if (pInfo->Key == GUI_KEY_ENTER) {
if (pInfo->ressedCnt == 0) {
Msg.MsgId = WM_APP_SHOW_TEXT;
Msg.hWinSrc = pMsg->hWin;
WM_SendMessage(WM_HBKWIN, &Msg);
return;
}
}
}
EDIT_Callback(pMsg);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询