修改窗口过程函数:按下回车后 焦点转移到下一个编辑框
来源:互联网 发布:centos apache公网ip 编辑:程序博客网 时间:2024/04/28 23:37
为了使EDIT控件能收到回车键 属性mutiline要改为TRUE
方法1 ======================================================================
WNDPROC prevProc;
LRESULT CALLBACK NewEditProc
(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
)
{
if(uMsg==WM_CHAR && wParam==0x0d)//截获回车键
{
//输入焦点传入下一个编辑框
::SetFocus(::GetNextWindow(hwnd,GW_HWNDNEXT));
//GetNextWindow返回下一个窗口的句柄
//或者 ::SetFocus(::GetWindow(hwnd,GW_HWNDNEXT));
//或者 ::SetFocus(::GetNextDlgTabItem(::GetParent(hwnd),hwnd,FALSE));//控件要保留WS_TABSTOP属性
return 1;
}
else
{
//调用先前的窗口过程来处理该消息
return prevProc(hwnd,uMsg,wParam,lParam);
}
}
BOOL CMy0618ADlg::OnInitDialog()
{::prevProc=(WNDPROC)::SetWindowLongA(this->GetDlgItem(IDC_EDIT1)->m_hWnd,GWL_WNDPROC,(LONG)::NewEditProc);
//核心函数 SetWindowLong 为窗口设置一个新的窗口过程函数,返回先前的窗口过程函数地址
}
方法2 =====================================================================================
利用TAB STOP
控件要用Tab stop属性 (默认就有)WS_TABSTOP
void CMy0618ADlg::OnBnClickedOk()
{
this->GetNextDlgTabItem(this->m_wnd,FALSE)->SetFocus(); //FALSE下一个
//CDialogEx::OnOK();
}
BOOL CMy0618ADlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==WM_KEYDOWN)
{
if(pMsg->wParam==13 )
{
CWnd* p;
p=this->GetFocus();
//回车按下后 焦点仍在EDIT框时 这里会运行一次
//焦点被自动转到OK按键后,这里会再运行一次 所以要把IDOK给滤掉
if(this->GetDlgItem(IDOK)!=p)
{
this->m_wnd=p;
}
}
}
return CDialogEx::PreTranslateMessage(pMsg);
}
- 修改窗口过程函数:按下回车后 焦点转移到下一个编辑框
- VC如何实现按下回车后编辑框输入焦点传递到下一编辑框?
- 自动转移到下一个焦点
- 对话框中按下回车后,焦点自动移动到下一个控件
- 回车到下一个编辑框 MFC
- 回车焦点到下一个控件
- 给编辑框设置新的窗口过程,实现按下Tab键和回车键自动切换到下一个编辑框
- 回车焦点自动跳到下一个TEXTBOX
- 回车焦点跳到下一个TextBox。
- 让输入焦点移动到下一个编辑框
- 类似智能购票的demo--进入页面后默认焦点在第一个输入框,输入内容、回车、right时焦点自动跳到下一个,当跳到select时,下拉选项自动弹出,并且可以按上下键选择,选择完成后再跳到下一个。
- 回车后自动聚焦到下一个控件
- 转移当前焦点到另外下一个Tab次序的控件
- 按下回车键后Combox控件焦点转移到下一控件
- C#按回车Enter使输入焦点自动跳到下一个TextBox的方法收集
- C#按回车Enter使输入焦点自动跳到下一个TextBox的方法收集
- Silverlight中设计焦点和文本框回车到下一个控件
- 回车自动跳了下一个编辑框。
- 1.4. Control Structures
- Quartz Cron 生成工具
- Docker:一点思考
- Intent 数据传递
- 证书签发工具程序编译遇到的问题及处理
- 修改窗口过程函数:按下回车后 焦点转移到下一个编辑框
- 16.三个学习原则和课程总结
- 隐写术:看黑客如何秘密隐藏恶意软件
- eclipse 不自动弹出提示(alt+/快捷键失效) 快捷键
- ring buffer的学习
- Servlet Url Mapping
- 20个漂亮的HTML5网站设计
- linux下如何进入单人维护模式,忘记密码的解决方法
- 我是社保局工作的,给大家介绍一下准确的“一老一小”保险知识[转载]