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);
	}
}
相关推荐
c++之路1 小时前
CMake 系列教程(二):基础命令详解
开发语言·c++
南境十里·墨染春水5 小时前
C++ 工厂模式:从入门到进阶,彻底掌握对象创建的艺术
开发语言·c++·算法
一拳一个呆瓜9 小时前
【STL】_SCL_SECURE_NO_WARNINGS
c++·stl
小小编程路9 小时前
C++ 异常 完整讲解
开发语言·c++
Frank学习路上12 小时前
【C++】面试:关键字与语法特性
c++·面试
Irissgwe13 小时前
数据结构-栈和队列
数据结构·c++·c·栈和队列
点云侠14 小时前
PCL 生成三棱锥点云
c++·算法·最小二乘法
.道阻且长.14 小时前
C++ string 操作指南:接口解析
java·c语言·开发语言·c++
laplaya14 小时前
使用 vcpkg 管理 C++ 项目中的依赖
开发语言·c++
blueman888816 小时前
VS2022 切换定义(F12 / Go to Definition)反应慢
c++·visual studio