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);
	}
}
相关推荐
大大da怪i3 分钟前
GPU编程之warp级编程
c++·gpu算力
我发在否3 分钟前
C++ > 牛客OJ在线编程常见输入输出练习场
c++·acm·牛客
2401_891957317 分钟前
简单了解一下智能指针(C++)
开发语言·c++
xiaoye-duck9 分钟前
C++入门基础指南:输入输出、缺省参数与函数重载
c++
fpcc14 分钟前
C++23中的import使用CMake实践
c++·c++23
沧澜sincerely18 分钟前
蓝桥杯11 路径之谜
c++·蓝桥杯·stl·dfs·剪枝
羑悻的小杀马特21 分钟前
深入C++与Redis的异构之美:用redis-plus-plus优雅操控键值宇宙之通用命令版!
c++·redis
MSTcheng.31 分钟前
【C++】菱形继承为何会引发二义性?虚继承如何破解?
开发语言·c++
Lion Long35 分钟前
C++20 异步编程:用future、promise 还是协程?
开发语言·c++·stl·c++20
渡我白衣36 分钟前
计算机组成原理(3):计算机软件
java·c语言·开发语言·jvm·c++·人工智能·python