MFC实现悬浮子窗口
悬浮子窗口是在主窗口的基础上创建一个浮动的子窗口,可以随着鼠标的移动而位置变化。在MFC框架中,可以通过CWnd类的CreateEx函数来创建一个悬浮子窗口。
下面是实现悬浮子窗口的完整源码:
// FloatWnd.h
class CFloatWnd : public CWnd
{
public:
CFloatWnd();
BOOL Create(CWnd* pParentWnd);
// Overrides
// ClassWizard generated virtual function overrides
//{
{AFX_VIRTUAL(CFloatWnd)
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CFloatWnd();
// Generated message map functions
protected:
//{
{AFX_MSG(CFloatWnd)
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
afx_msg void OnPaint();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CPoint m_ptOffset; // 窗口位置偏移量
};
// FloatWnd.cpp
IMPLEMENT_DYNAMIC(CFloatWnd, CWnd)
CFloatWnd::CFloatWnd()
{
m_ptOffset = CPoint(0, 0);
}
CFloatWnd::~CFloatWnd()
{
}
BEGIN_MESSAGE_MAP(CFloatWnd, CWnd