MFC 教程-文本框失去焦点处理

【1】增加窗口的消息处理函数

cpp 复制代码
void CTESTMFCDlg::OnKillFocus(CWnd* pNewWnd)
{
	//CDialogEx::OnKillFocus(pNewWnd);
	//首先使用true将数据从控件传入成员变量中
	UpdateData(true);

	//校验成员变量m_data中的数据是否符合要求,如果不符合,修改后将它显示在控件中
	if (m_editStringFind == "")
	{
		m_editStringFind = "客户";
		UpdateData(false);
	}

	// TODO: 在此处添加消息处理程序代码
}

运行发现没有反应(捂脸)

【2】解决方法

在对话框头文件中添加:afx_msg void OnKillFocus(CWnd* pNewWnd);

在消息映射中添加:

ON_EN_KILLFOCUS(IDC_EDIT_FIND, &CPDFMFCDlg::OnKillFocusEditBox)

在对话框CPP文件中添加:

cpp 复制代码
void CTESTMFCDlg::OnKillFocusEditBox() {

	//首先使用true将数据从控件传入成员变量中
	UpdateData(true);

	//校验成员变量m_data中的数据是否符合要求,如果不符合,修改后将它显示在控件中
	if (m_editStringFind == "")
	{
		//m_editStringFind = "客户";
		UpdateData(false);
	}
}
相关推荐
Lumbrologist7 小时前
【C++】零基础入门 · 第 1 节:第一个程序 Hello World 与编译运行
开发语言·c++
_李小白7 小时前
【C++学习笔记】新特性之inline变量
c++·笔记·学习
桀人7 小时前
C++——模板初阶(收录在专栏C++入门到精通)
开发语言·c++
Lumbrologist8 小时前
【C++】零基础入门 · 第 2 节:变量、基本数据类型与输入输出
java·开发语言·c++
XX風8 小时前
CMake / Make / Ninja / MSVC / GCC / Clang / MSBuild —— 完整体系化理解
c++
Peter·Pan爱编程8 小时前
10. new_delete 不是 malloc_free 的包装
c++·人工智能·算法
彦为君9 小时前
Java文件处理效率库Commons-IO(速览)
java·开发语言·mfc
故事和你9110 小时前
洛谷-【动态规划1】动态规划的引入2
开发语言·数据结构·c++·算法·动态规划·图论
fpcc11 小时前
c++编程实践——历史记录的管理
c++
玖笙&12 小时前
✨WPF编程基础【3.3】:容器控件(附源码)
c++·wpf·visual studio