📄 dlgpreview.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 + -