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

📄 ~transgroup.~cpp

📁 实时监控
💻 ~CPP
字号:
 // TransGroup.cpp : implementation file
//

#include "stdafx.h"
#include "../dvrmanager.h"
#include "TransGroup.h"

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

IMPLEMENT_DYNCREATE(CTransGroup, CButton)

/////////////////////////////////////////////////////////////////////////////
// CTransGroup

CTransGroup::CTransGroup()
{
}

CTransGroup::~CTransGroup()
{
}


BEGIN_MESSAGE_MAP(CTransGroup, CButton)
	//{{AFX_MSG_MAP(CTransGroup)
	ON_WM_ERASEBKGND()
	ON_WM_PAINT()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTransGroup message handlers

BOOL CTransGroup::OnEraseBkgnd(CDC* pDC) 
{
	return TRUE;
}

void CTransGroup::PreSubclassWindow() 
{
	SetButtonStyle(BS_OWNERDRAW);
	CButton::PreSubclassWindow();
}


void CTransGroup::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
	
	CDC* pdc = &dc;
	CRect rc;
	GetClientRect(rc);


	/*
	 *	当前字体需要的空间大小
	 */
	CString title;
	GetWindowText(title);
//	ASSERT( !title.IsEmpty() );
	
	CFont* old = GetParent()->GetFont();
	LOGFONT lf;
	old->GetLogFont(&lf);
	lf.lfHeight -= 1;
	lf.lfWeight = FW_BOLD;
	
	CFont ft;
	ft.CreateFontIndirect(&lf);

	old = pdc->SelectObject(&ft);

	CSize text_size = pdc->GetOutputTextExtent(title);

	int cx = text_size.cx;
	int cy = text_size.cy;

	COLORREF cltxt = RGB(255,255,255);
	//COLORREF cltxt = 0;
	//COLORREF cltxt = RGB(0,0,80);

	CRect rCButton(rc);
	rCButton.top += cy+title_vmargin;
	pdc->FrameRect(rCButton, &CBrush(cltxt));

	CRect rctext;
	rctext.left = title_left;
	rctext.right = rctext.left + cx + title_margin*2;
	rctext.top = 0;
	rctext.bottom = rctext.top + cy + title_vmargin;
	
	if( rctext.right > rc.right )
		rctext.right = rc.right-cy-title_left;
	
	// 白色边框
	// pdc->FrameRect(rCButton, &CBrush(RGB(255,255,255)));
	
///*
/*	pdc->SelectStockObject(WHITE_PEN);
	pdc->MoveTo(title_left, rctext.bottom);
	pdc->LineTo(title_left+cy+title_vmargin, rctext.top);
	pdc->LineTo(rctext.right, rctext.top);
	pdc->LineTo(rctext.right, rctext.bottom);
/*	pdc->MoveTo(0, rctext.bottom);
	pdc->LineTo(rctext.left-cy, rctext.bottom);
	pdc->LineTo(rctext.left, rctext.top);
	pdc->LineTo(rctext.right, rctext.top);
	pdc->LineTo(rctext.right+cy, rctext.bottom);
	pdc->LineTo(rc.right-1, rctext.bottom);
	pdc->LineTo(rc.right-1, rc.bottom);
	pdc->LineTo(rc.left, rc.bottom);
	pdc->LineTo(rc.left, rctext.bottom);
*/
	pdc->SetBkMode(TRANSPARENT);
	pdc->SetTextColor(cltxt);
	pdc->DrawText(title, rctext, DT_SINGLELINE | DT_CENTER | DT_WORD_ELLIPSIS);
//*/
	pdc->SelectObject(old);	
}

void CTransGroup::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) 
{
	
}

⌨️ 快捷键说明

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