用ENTER键切换控件焦点,并模拟按键
来源:互联网 发布:mac 开发者工具 编辑:程序博客网 时间:2024/04/29 13:10
//得到控件类型
CtrlType CENTERView::GetCtrlType(CWnd * pWnd)
{
char buf[512];
CString szTmp;
//定义枚举类型
enum CtrlType
{
EditType, //编辑框
ButtonType, //按钮
OtherType //其它
};
给这个基类添加一个保护方法:
if( pWnd != NULL )
{
::GetClassName( pWnd->GetSafeHwnd(), buf, 512);
szTmp = buf;
szTmp.TrimRight();
if( szTmp == "Edit" )
return EditType;
else if( szTmp == "Button" )
return ButtonType;
else
return OtherType;
}
else
return OtherType;
}
BOOL CENTERView::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if (pMsg->message == WM_KEYDOWN)
{
CWnd * pCtrl = NULL;
switch(pMsg->wParam)
{
case VK_ESCAPE://屏蔽ESC
return TRUE;
case VK_RETURN:
{
pCtrl = GetFocus();
//如果当前控件是按钮 就模点击
if( GetCtrlType(pCtrl) == ButtonType )
{
::SendMessage( pCtrl->GetSafeHwnd(), WM_LBUTTONDOWN, 0, 0);
::SendMessage( pCtrl->GetSafeHwnd(), WM_LBUTTONUP, 0, 0);
}
if( GetCtrlType(pCtrl) != OtherType )
GetNextDlgTabItem(pCtrl)->SetFocus();
return TRUE;
}
default:
break;
}
}
return CFormView::PreTranslateMessage(pMsg);
}
CtrlType CENTERView::GetCtrlType(CWnd * pWnd)
{
char buf[512];
CString szTmp;
//定义枚举类型
enum CtrlType
{
EditType, //编辑框
ButtonType, //按钮
OtherType //其它
};
给这个基类添加一个保护方法:
if( pWnd != NULL )
{
::GetClassName( pWnd->GetSafeHwnd(), buf, 512);
szTmp = buf;
szTmp.TrimRight();
if( szTmp == "Edit" )
return EditType;
else if( szTmp == "Button" )
return ButtonType;
else
return OtherType;
}
else
return OtherType;
}
BOOL CENTERView::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if (pMsg->message == WM_KEYDOWN)
{
CWnd * pCtrl = NULL;
switch(pMsg->wParam)
{
case VK_ESCAPE://屏蔽ESC
return TRUE;
case VK_RETURN:
{
pCtrl = GetFocus();
//如果当前控件是按钮 就模点击
if( GetCtrlType(pCtrl) == ButtonType )
{
::SendMessage( pCtrl->GetSafeHwnd(), WM_LBUTTONDOWN, 0, 0);
::SendMessage( pCtrl->GetSafeHwnd(), WM_LBUTTONUP, 0, 0);
}
if( GetCtrlType(pCtrl) != OtherType )
GetNextDlgTabItem(pCtrl)->SetFocus();
return TRUE;
}
default:
break;
}
}
return CFormView::PreTranslateMessage(pMsg);
}
- 用ENTER键切换控件焦点,并模拟按键
- 用ENTER键切换控件焦点,并模拟按键
- 用ENTER键模拟TAB键,实现焦点在每个控件里逐一跳转
- uCGUI 按键切换对话框内子控件焦点
- enter模拟tab键实现焦点移动
- enter键切换焦点,input获得焦点后placeholder消失
- qt按键焦点切换
- 实现tab按键切换Edit控件焦点(WTL)
- 按Enter键获取下一个控件的焦点
- Jquery实现回车键Enter切换焦点
- Jquery实现回车键Enter切换焦点
- Jquery实现回车键Enter切换焦点
- Jquery实现回车键Enter切换焦点
- Jquery实现回车键Enter切换焦点
- Jquery实现回车键Enter切换焦点
- Jquery实现回车键Enter切换焦点
- Tab键、方向键切换页面控件焦点
- 回车切换控件焦点
- A brief description of the FTP protocol
- 工作一年半。
- JUnitEE
- win平台apacha2.0.50+tomcat5.5.4整合
- IDLE_TIME DOES NOT WORK TO SPECIFY WHEN A SESSION IS AUTOMATICALLY SNIPPED
- 用ENTER键切换控件焦点,并模拟按键
- 全角字符的匹配
- 在DELPHI中利用ADO组件访问数据库的步骤
- The difference between PASV FTP and Normal FTP
- HTML标签表
- com 注册 找不到映像文件 可能原因
- 第一篇文章
- ftp上传
- 今天有开始有了自己的blog