</pre><pre name="code" class="cpp"><span style="font-size:14px;">
/************************************** MFC **********************************************/
//在文本框中按回车焦点跳到下一个文本框,并依次向下传递:
法一、窗口过程:// 先让文本框响应多行,然后对每一个都要写窗口过程,麻烦!
WNDPROC preProc;
LRESULT CALLBACK WinNewProc(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
){
if(uMsg == WM_CHAR && wParam == 0x0d){
//::SetFocus(::GetNextWindow(hwnd,GW_HWNDNEXT));
//::SetFocus(::GetWindow(hwnd,GW_HWNDNEXT));
::SetFocus(::GetNextDlgTabItem(::GetParent(hwnd),hwnd,false));//父窗口句柄,自身句柄,向后Tab
return 1;
}else{
return preProc(hwnd,uMsg,wParam,lParam);
}
}
BOOL CTestDlg::OnInitDialog()
{
CDialog::OnInitDialog();
preProc = (WNDPROC)SetWindowLong(GetDlgItem(IDC_EDIT1)->m_hWnd,GWL_WNDPROC,
(LONG)WinNewProc);
return TRUE;
}
法二 、ok为默认按钮
void CTestDlg::OnOK()
{
GetNextDlgTabItem(GetFocus())->SetFocus();
// CDialog::OnOK();
}
</span>
MFC:焦点传递
最新推荐文章于 2022-02-15 09:15:11 发布