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);
	}
}
相关推荐
hetao173383731 分钟前
校内场-提高组 ZYZSC-S-Round 4
c++·算法
stellanke1 小时前
Linux网络编程实战2:TCP Socket 基础与实践
linux·网络·c++
蒸蒸yyyyzwd2 小时前
机试和Redis学习笔记
c++·笔记·面试
tdtsmt2 小时前
2026年SMT贴片加工选型指南:天地通电子推荐参考
c++
一木 之林2 小时前
插件、MCP、Skill 的区别?
java·c++·人工智能
ShineWinsu3 小时前
对于MySQL:内置函数的解析
linux·数据库·c++·mysql·面试·函数·查询
程序猿编码5 小时前
纯C++轻量计算机视觉推理引擎:基于GGML的端侧CV模型部署技术全解析
开发语言·c++·计算机视觉·大模型·transformer
Tairitsu_H6 小时前
[C++] C++11新增构造:列表初始化和std::initializer_list
开发语言·c++·c++11·构造
hansang_IR6 小时前
【题解】P4456 [CQOI2018] 交错序列(矩阵乘法)
c++·线性代数·算法
光电笑映7 小时前
Linux 线程同步与互斥:锁的本质、条件变量与信号量的底层原理
linux·运维·服务器·开发语言·c++