⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hoveredit.h

📁 这是一个经典的端口扫描的源程序
💻 H
字号:
#if !defined(AFX_HOVEREDIT_H__372AC76D_6B84_435C_8300_9519EB021C8C__INCLUDED_)
#define AFX_HOVEREDIT_H__372AC76D_6B84_435C_8300_9519EB021C8C__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// HoverEdit.h : header file
//
//#include "TrackControl.h"
/////////////////////////////////////////////////////////////////////////////
// CHoverEdit window
template<class BaseClass>
/////////////////////////////////////////////////////////////////////////////
// CTrackControl window

class CTrackControl : public BaseClass
{
// Construction
public:
	CTrackControl()
	{
		m_bTracking=m_bHover=FALSE;
	}
	virtual ~CTrackControl() {}
	BOOLEAN IsHover()
	{
		return m_bHover;
	}
	
// Implementation
public:
	virtual void OnHoverEnter()=0;
	virtual void OnHoverLeave()=0;
	
	// Generated message map functions
protected:
	virtual LRESULT WindowProc(UINT nMessage, WPARAM wParam, LPARAM lParam)
	{
		LRESULT nResult=BaseClass::WindowProc(nMessage,wParam,lParam);
		switch(nMessage)
		{
		case WM_MOUSEMOVE:
			{
				if (!m_bTracking)
				{
					TRACKMOUSEEVENT Tme;
					Tme.cbSize = sizeof(Tme);
					Tme.hwndTrack = GetSafeHwnd();
					Tme.dwFlags = TME_LEAVE|TME_HOVER;
					Tme.dwHoverTime = 1;
					if (_TrackMouseEvent(&Tme))
						m_bTracking=TRUE;
				}
				break;				
			}
		case WM_MOUSEHOVER:
			m_bHover=TRUE;
			OnHoverEnter();
			break;
		case WM_MOUSELEAVE:
			m_bTracking=m_bHover=FALSE;
			OnHoverLeave();
			break;
		}
		return nResult;
	}

private:
	BOOLEAN m_bTracking;
	BOOLEAN m_bHover;
};


class CHoverEdit : public CTrackControl<CEdit>
{
// Construction
public:
	CHoverEdit();

// Attributes
public:

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CHoverEdit)
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual void OnHoverLeave();
	virtual void OnHoverEnter();
	virtual ~CHoverEdit();

	// Generated message map functions
protected:
	//{{AFX_MSG(CHoverEdit)
	afx_msg void OnNcPaint();
	//}}AFX_MSG

	DECLARE_MESSAGE_MAP()
private:
	inline void Redraw();
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_HOVEREDIT_H__372AC76D_6B84_435C_8300_9519EB021C8C__INCLUDED_)

⌨️ 快捷键说明

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