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);
	}
}
相关推荐
迷茫、Peanut2 分钟前
中断的时钟
c++
2402_8828938619 分钟前
用哈希表封装 unordered_map 和 unordered_set —— 手撕 C++ 哈希容器
c++·哈希桶·unordered_map·unordered_set
熊猫钓鱼>_>31 分钟前
用 OHAudioSuite 空间渲染节点搭一座「3D 有声博物馆」——从三种模式到 FreeBuds 头追的实战记录
c++·3d·ai·harmonyos·arkts·audio·ohaudiosuite
_约书亚_1 小时前
chapter 9 高级线程管理 — 归纳总结
c++
linx2951 小时前
阶段三讲义:类型与对象(Classes & Essential Operations)
c++
飞鸟真人1 小时前
C++ lambda 捕获完整梳理
c++·闭包·lamda
東隅已逝,桑榆非晚1 小时前
c++内存管理
c++·笔记
是个西兰花1 小时前
C++11:线程库与线程安全问题
开发语言·c++
少司府1 小时前
C++进阶:智能指针
开发语言·数据结构·c++·b树·算法·c·智能指针
水饺编程2 小时前
编程数学:三角函数基础01,直角三角函数
c语言·c++·windows·visual studio