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

📄 dlgpreview.cpp

📁 海康威视人脸检测系统!需要海康威视的硬件支持!其中底层用到海康的sdk
💻 CPP
字号:
// DlgPreview.cpp : implementation file
//

#include "stdafx.h"
#include "FaceDemo.h"
#include "DlgPreview.h"
#include "FaceDemoDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDlgPreview dialog


CDlgPreview::CDlgPreview(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgPreview::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgPreview)
		// NOTE: the ClassWizard will add member initialization here
	//	
	  //  GetClientRect(&rect);
	//}}AFX_DATA_INIT
	m_brush.CreateSolidBrush(RGB(10,10,10)); 
	m_brushBlack.CreateSolidBrush(RGB(0,0,0));
	m_bcurwin = FALSE;
	m_bDbuttonClick=FALSE;
}


void CDlgPreview::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgPreview)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgPreview, CDialog)
	//{{AFX_MSG_MAP(CDlgPreview)
	ON_WM_LBUTTONDOWN()
	ON_WM_PAINT()
	ON_WM_LBUTTONDBLCLK()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgPreview message handlers

BOOL CDlgPreview::OnInitDialog() 
{
	CDialog::OnInitDialog();
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDlgPreview::OnLButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	CFaceDemoDlg *dlgmain =(CFaceDemoDlg*) AfxGetMainWnd();
	dlgmain->SetCurrentChan(m_iChannel);
	CDialog::OnLButtonDown(nFlags, point);
	
}

void CDlgPreview::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
	
	// TODO: Add your message handler code here
	//窗口重绘时需要调用此函数
	CPen penWhite;
	if(m_bcurwin)
	{
		penWhite.CreatePen(PS_SOLID, 3, RGB(0, 255, 255));
	}else
	{
		penWhite.CreatePen(PS_SOLID, 3, RGB(0, 64, 128));//RGB(0, 64, 128)
	}
	
	CPen* pOldPen = dc.SelectObject(&penWhite);
	
	CRect winRect;
	GetClientRect(&winRect);
	dc.MoveTo(winRect.left, winRect.top);
	dc.LineTo(winRect.right, winRect.top);
	
	dc.MoveTo(winRect.left, winRect.top);
	dc.LineTo(winRect.left, winRect.bottom);
	
	dc.MoveTo(winRect.right-2, winRect.top);
	dc.LineTo(winRect.right-2, winRect.bottom);
	
	dc.MoveTo(winRect.left, winRect.bottom-2);
	dc.LineTo(winRect.right, winRect.bottom-2);
	dc.SelectObject(pOldPen);
	
	// Do not call CDialog::OnPaint() for painting messages
}
int	CDlgPreview::RefreshBack(int ichannel)
{
	

	if(ichannel == m_iChannel)
	{
		m_bcurwin = TRUE;
		
	}else
	{
		m_bcurwin = FALSE;
	}
	DrawBack();
	return 0;
}
int	CDlgPreview::DrawBack()
{
	CClientDC dc(this); // device context for painting
	// TODO: Add your message handler code here	
	CPen penWhite;
	if(m_bcurwin)
	{
		penWhite.CreatePen(PS_SOLID, 3, RGB(0, 255, 255));
	}else
	{
		penWhite.CreatePen(PS_SOLID, 3, RGB(0, 64, 128));
	}

	CPen* pOldPen = dc.SelectObject(&penWhite);
	CRect winRect;
	GetClientRect(&winRect);
	dc.MoveTo(winRect.left, winRect.top);
	dc.LineTo(winRect.right, winRect.top);

	dc.MoveTo(winRect.left, winRect.top);
	dc.LineTo(winRect.left, winRect.bottom);

	dc.MoveTo(winRect.right-2, winRect.top);
	dc.LineTo(winRect.right-2, winRect.bottom);

	dc.MoveTo(winRect.left, winRect.bottom-2);
	dc.LineTo(winRect.right, winRect.bottom-2);

	dc.SelectObject(pOldPen);

	return 0;
}

void CDlgPreview::OnLButtonDblClk(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	m_bDbuttonClick=!m_bDbuttonClick;
	CFaceDemoDlg *dlgmain =(CFaceDemoDlg*) AfxGetMainWnd();

	dlgmain->PreviewDbclk(m_iChannel);
	CDialog::OnLButtonDblClk(nFlags, point);
}

⌨️ 快捷键说明

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