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

📄 tipwnd.cpp

📁 Visual C++图形用户界面开发指南 李博轩等编著 配套源码光盘
💻 CPP
字号:
// TipWnd.cpp : implementation file
//

#include "stdafx.h"
#include "TipWnd.h"

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

#define FONT_HEIGHT -18

CTipWnd::CTipWnd()
{
}

CTipWnd::~CTipWnd()
{
}

BOOL CTipWnd::Create(CWnd* pParent)
{

	return 	CWnd::CreateEx(0,
		AfxRegisterWndClass(0),
		NULL,
		WS_BORDER|WS_POPUP,
		0,
		0,0,0,
		NULL,
		(HMENU)0);

}


BEGIN_MESSAGE_MAP(CTipWnd, CWnd)
	//{{AFX_MSG_MAP(CTipWnd)
	ON_WM_ERASEBKGND()
	ON_WM_PAINT()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


BOOL CTipWnd::OnEraseBkgnd(CDC* pDC) 
{
	CBrush br(GetSysColor(COLOR_INFOBK));
	CRect rc;
	pDC->GetClipBox(rc);
	CBrush* pOldBrush = pDC->SelectObject(&br);
	pDC->PatBlt(rc.left,rc.top,rc.Width(),rc.Height(),PATCOPY);

	pDC->SelectObject(pOldBrush);

	return TRUE;
}

void CTipWnd::ShowTips(CPoint pt,const CString& str)
{
	CSize sz;
	CDC* pDC = GetDC();

	if (m_strFont != str)
	{
		m_strFont = str;

		LOGFONT lf;
		ZeroMemory(&lf,sizeof(lf));

		lf.lfHeight = FONT_HEIGHT;
		strcpy(lf.lfFaceName,m_strFont);
		
		m_font.DeleteObject();
		m_font.CreateFontIndirect(&lf);
		

		CFont* pFont = pDC->SelectObject(&m_font);

		sz = pDC->GetTextExtent(m_strFont);

		sz.cx += 8;
		sz.cy += 8;

		pDC->SelectObject(pFont);
		ReleaseDC(pDC);

		SetWindowPos(0,pt.x,pt.y,sz.cx,sz.cy,SWP_SHOWWINDOW|SWP_NOACTIVATE);
		RedrawWindow();
	}
}

void CTipWnd::OnPaint() 
{
	CPaintDC dc(this);
	
	dc.SelectObject(&m_font);
	CRect rc;
	GetClientRect(rc);
	dc.DrawText(m_strFont,rc,DT_SINGLELINE|DT_VCENTER|DT_CENTER);
}

⌨️ 快捷键说明

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