相应代码地址:http://download.csdn.net/detail/u010901792/9588394
1. 去掉OK按钮的回车按钮的缺省属性。
将Default button勾掉。
并将OK按钮相应的消息函数中,如下图中的代码注释掉
2. 修改编辑框的窗口过程
Ø 增加WM_INITDIALOG消息响应函数
Ø 定义先前的窗口过程 WNDPROC prevProc;
在OnInitDialog()函数中实现
prevProc=(WNDPROC)SetWindowLong(GetDlgItem(IDC_EDIT_STAET)->m_hWnd,GWL_WNDPROC,(LONG)WinSunProc);
Ø 实现新的窗口过程WinSunProc
(注:参照函数WindowProc的定义)
LRESULT CALLBACK WinSunProc (HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
if (uMsg==WM_CHAR && wParam==0x0d)
{
SetFocus(::GetWindow(hwnd,GW_HWNDNEXT));
return 1;
}
else
{
return prevProc(hwnd,uMsg,wParam,lParam);
}
}
3. 利用缺省按钮的响应函数,使光标在所有编辑框依次向下移动(在ONOK函数中添加代码)
GetNextDlgTabItem(GetFocus())->SetFocus();
4. 可以查看并修改组件的顺序
Layout-->Tab order 会出现所有控件的顺序。
单击控件控件的循序就会发生变化。