MFC自定义搜索编辑框CEdit,得到焦点提示文本消失,失去焦点,提示文本显示

本文主要是介绍MFC自定义搜索编辑框CEdit,得到焦点提示文本消失,失去焦点,提示文本显示,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#pragma once// CSearchEditclass CSearchEdit : public CEdit
{DECLARE_DYNAMIC(CSearchEdit)public:CSearchEdit();virtual ~CSearchEdit();public:void ShowTip();const CString GetTip()const { return m_strTip; }private:const CString m_strTip = _T("搜索图片");protected:DECLARE_MESSAGE_MAP()afx_msg void OnEnKillfocus();afx_msg void OnEnSetfocus();afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);
};
// SearchEdit.cpp : 实现文件
//#include "stdafx.h"
#include "TestDlg.h"
#include "SearchEdit.h"// CSearchEditIMPLEMENT_DYNAMIC(CSearchEdit, CEdit)CSearchEdit::CSearchEdit()
{}CSearchEdit::~CSearchEdit()
{
}void CSearchEdit::ShowTip()
{SetWindowText(m_strTip);
}BEGIN_MESSAGE_MAP(CSearchEdit, CEdit)ON_CONTROL_REFLECT(EN_KILLFOCUS, &CSearchEdit::OnEnKillfocus)ON_CONTROL_REFLECT(EN_SETFOCUS, &CSearchEdit::OnEnSetfocus)ON_WM_CTLCOLOR_REFLECT()
END_MESSAGE_MAP()// CSearchEdit 消息处理程序void CSearchEdit::OnEnKillfocus()
{CString str;GetWindowText(str);if (str == _T("")){SetWindowText(m_strTip);}
}void CSearchEdit::OnEnSetfocus()
{CString str;GetWindowText(str);if (str == m_strTip){SetWindowText(_T(""));}
}HBRUSH CSearchEdit::CtlColor(CDC* pDC, UINT nCtlColor)
{// TODO:  在此更改 DC 的任何特性CString str;GetWindowText(str);if (str == m_strTip){pDC->SetTextColor(RGB(192, 192, 192));return (HBRUSH)GetStockObject(WHITE_BRUSH);}// TODO:  如果不应调用父级的处理程序,则返回非 null 画笔return NULL;
}

 

这篇关于MFC自定义搜索编辑框CEdit,得到焦点提示文本消失,失去焦点,提示文本显示的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/798382

相关文章

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

mss32.dll文件丢失怎么办? 电脑提示mss32.dll丢失的多种修复方法

《mss32.dll文件丢失怎么办?电脑提示mss32.dll丢失的多种修复方法》最近,很多电脑用户可能遇到了mss32.dll文件丢失的问题,导致一些应用程序无法正常启动,那么,如何修复这个问题呢... 在电脑常年累月的使用过程中,偶尔会遇到一些问题令人头疼。像是某个程序尝试运行时,系统突然弹出一个错误提

电脑提示找不到openal32.dll文件怎么办? openal32.dll丢失完美修复方法

《电脑提示找不到openal32.dll文件怎么办?openal32.dll丢失完美修复方法》openal32.dll是一种重要的系统文件,当它丢失时,会给我们的电脑带来很大的困扰,很多人都曾经遇到... 在使用电脑过程中,我们常常会遇到一些.dll文件丢失的问题,而openal32.dll的丢失是其中比较

使用Python实现文本转语音(TTS)并播放音频

《使用Python实现文本转语音(TTS)并播放音频》在开发涉及语音交互或需要语音提示的应用时,文本转语音(TTS)技术是一个非常实用的工具,下面我们来看看如何使用gTTS和playsound库将文本... 目录什么是 gTTS 和 playsound安装依赖库实现步骤 1. 导入库2. 定义文本和语言 3

Android自定义Scrollbar的两种实现方式

《Android自定义Scrollbar的两种实现方式》本文介绍两种实现自定义滚动条的方法,分别通过ItemDecoration方案和独立View方案实现滚动条定制化,文章通过代码示例讲解的非常详细,... 目录方案一:ItemDecoration实现(推荐用于RecyclerView)实现原理完整代码实现

Python实现常用文本内容提取

《Python实现常用文本内容提取》在日常工作和学习中,我们经常需要从PDF、Word文档中提取文本,本文将介绍如何使用Python编写一个文本内容提取工具,有需要的小伙伴可以参考下... 目录一、引言二、文本内容提取的原理三、文本内容提取的设计四、文本内容提取的实现五、完整代码示例一、引言在日常工作和学

基于Spring实现自定义错误信息返回详解

《基于Spring实现自定义错误信息返回详解》这篇文章主要为大家详细介绍了如何基于Spring实现自定义错误信息返回效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录背景目标实现产出背景Spring 提供了 @RestConChina编程trollerAdvice 用来实现 HTT

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

电脑提示msvcp90.dll缺少怎么办? MSVCP90.dll文件丢失的修复方法

《电脑提示msvcp90.dll缺少怎么办?MSVCP90.dll文件丢失的修复方法》今天我想和大家分享的主题是关于在使用软件时遇到的一个问题——msvcp90.dll丢失,相信很多老师在使用电脑时... 在计算机使用过程中,可能会遇到 MSVCP90.dll 丢失的问题。MSVCP90.dll 是 Mic