hoveredit.cpp

来自「程序开发中写log用的实现代码, C语言代码, 可以不用修改再C++或MFC中使」· C++ 代码 · 共 73 行

CPP
73
字号
// HoverEdit.cpp : implementation file
// Modified by WangDongdong

#include "stdafx.h"
#include "HoverEdit.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CHoverEdit

CHoverEdit::CHoverEdit()
{
    m_crColor = RGB(100, 200, 100);
}

CHoverEdit::~CHoverEdit()
{
}


BEGIN_MESSAGE_MAP(CHoverEdit, CEdit)
//{{AFX_MSG_MAP(CHoverEdit)
ON_WM_NCPAINT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CHoverEdit message handlers

void CHoverEdit::OnHoverEnter()
{
	Redraw();
}

void CHoverEdit::OnHoverLeave()
{
	Redraw();
}

void CHoverEdit::Redraw()
{
	RedrawWindow(NULL, NULL, RDW_FRAME | RDW_INVALIDATE);
}

void CHoverEdit::OnNcPaint() 
{
	CWindowDC DC(this);
	CRect Rect;
	GetWindowRect(&Rect);

	if (IsHover())
    {
        CPen newPen(PS_SOLID, 1, m_crColor);
        CPen *pOldPen = DC.SelectObject(&newPen);
		DC.Rectangle(0, 0, Rect.Width(), Rect.Height());
        DC.SelectObject(pOldPen); 
    }
	else
    {
		DC.DrawEdge(
            CRect(0, 0, Rect.Width(), Rect.Height()), 
            EDGE_SUNKEN, 
            BF_FLAT | BF_RECT);
    }
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?