孙鑫MFC第七课输入焦点的传递
来源:互联网 发布:王者刷点卷的软件 编辑:程序博客网 时间:2024/04/27 20:49
1.对话框用户界面程序的编写(添加对话框)
2.如何在程序运行时产生和销毁控件。
3. 静态文本框上响应函数的编写
3.如何利用对话框类的成员函数向控件发送消息和获取对话框控件的类指针,
4.如何直接利用对话框控件类操纵对话框控件(发送消息和直接调用成员函数)。
5. 如何向对话框控件关联数据成员及其实现机理,
6.对话框控件的几种操作方式的优劣比较分析。
7.如何实现对话框的部分收缩和展开。
8.如何让对话框上的文本框在程序启动后立即获得焦点,
9.如何利用SetWindowLong改变窗口的回调函数,通过改变文本框的默认回车处理方式进行演示。实现多个输入文本框间通过回车逐一向下传递焦点的另一种巧妙方法(用缺省按钮来处理)
输入焦点的切换,在控件上按回车切换
把原来对话框有的默认响应按钮onOK的函数覆盖掉
编辑框要接受回车按钮必须把属性里的multiline复选上
void CTestDlg::OnOK()
{
// TODO: Add extra validation here
// CDialog::OnOK();
}
WNDPROC prevProc;
LRESULT CALLBACK WinSunProc(
HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
)
{
if(uMsg==WM_CHAR && wParam==0x0d)
{
//::SetFocus(::GetNextWindow(hwnd,GW_HWNDNEXT));//三种方法
//SetFocus(::GetWindow(hwnd,GW_HWNDNEXT));
SetFocus(::GetNextDlgTabItem(::GetParent(hwnd),hwnd,FALSE));
return 1;
}
else
{
return prevProc(hwnd,uMsg,wParam,lParam);
}
}
BOOL CTestDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
prevProc=(WNDPROC)SetWindowLong(GetDlgItem(IDC_EDIT1)->m_hWnd,GWL_WNDPROC,
(LONG)WinSunProc);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
利用缺省按钮来响应
需要有焦点的控件的tab-top属性必须复选上
想看tab即焦点序号,可以点击layout的taborder按钮查看到,也可以通过这进行改变控件焦点的序号;
注意:要想响应焦点的转移,必须先把缺省按钮响应给取消掉
如果新建的窗口没有ok按钮,可以自己添加一个IDOK的按钮,不要写成idc_ok
void CTestDlg::OnOK()
{
// TODO: Add extra validation here
//GetDlgItem(IDC_EDIT1)->GetNextWindow()->SetFocus();//跳转到edit1的下i个窗口,设置焦点,始终无法设置到第三个控件上
//GetFocus()->GetNextWindow()->SetFocus();//再最后一个控件的时候再调用就会出错,因为没有下一个控件
//GetFocus()->GetWindow(GW_HWNDNEXT)->SetFocus();//再最后一个控件的时候再调用就会出错,因为没有下一个控件
GetNextDlgTabItem(GetFocus())->SetFocus();//可以一直循环切换焦点
// CDialog::OnOK();
}
- 孙鑫MFC第七课输入焦点的传递
- 输入焦点的传递
- 输入焦点的传递
- 输入焦点的传递
- MFC之很重要的地方之输入焦点的传递
- MFC中按下回车键传递输入焦点
- MFC:焦点传递
- mfc程序向焦点的输入
- 孙鑫第7章 7.6 输入焦点的传递
- 输入框的获取焦点、失去焦点
- 【旧资料整理】MFC--边栏(CDialogBar)不能获得输入焦点问题的解决办法
- MFC设置对话框的焦点
- MFC设置对话框的焦点
- 自动切换输入的焦点
- 第七讲 MFC的DLL
- MFC数据的传递
- 输入焦点
- 用回车键实现MFC对话框中TAB键控制输入焦点在控件中跳转的效果
- android:taskAffinity与android:finishOnTaskLaunch之我见
- 我是面试官
- 简单JDBC框架——DBUtils
- 基于样本一致性的背景减除运动目标检测算法(SACON)
- 回调函数一般模式图解
- 孙鑫MFC第七课输入焦点的传递
- 删除 Windows.old
- 设置字体和颜色
- ACM POJ
- Packetix VPNClient Linux端配置及加入VPNServer过程
- Circular Array
- Linux的inode的理解
- 初识MFC ---对话框
- Adobe AIR and Flex