📄 cclsstaticpictureview.cpp
字号:
// cClsStaticPictureView.cpp : implementation file
//
#include "stdafx.h"
#include "resource.h"
#include "DIBSectionCE.h"
#include "voimage.h"
#include "ParamManagerDlg.h"
#include "cClsStaticPictureView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CStaticPictureView
CStaticPictureView::CStaticPictureView()
:m_sPictureName(_T(""))
{
};
CStaticPictureView::~CStaticPictureView()
{
};
BEGIN_MESSAGE_MAP(CStaticPictureView, CStatic)
//{{AFX_MSG_MAP(CStaticPictureView)
ON_WM_PAINT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
void CStaticPictureView::OnPaint()
{
CPaintDC dc(this); // device context for painting
RECT rect;
BOOL bLoad;
GetClientRect(&rect);
if(m_sPictureName.IsEmpty() /*file not correct */)
{
CBrush *pBrush = new CBrush(RGB(255,255,255));
dc.FillRect(CRect(0,0,rect.right ,rect.bottom),pBrush);
dc.MoveTo(0,0);
dc.LineTo(rect.right,rect.bottom);
dc.MoveTo(rect.right,0);
dc.LineTo(0,rect.bottom);
pBrush->DeleteObject();
delete pBrush;
return ;
};
CVOImage *pvoimage = new CVOImage();
pvoimage->Load(dc.GetSafeHdc(),m_sPictureName);
if((bLoad = pvoimage->IsLoaded()) == TRUE)
pvoimage->Draw(dc.GetSafeHdc(),0,0,rect.right,rect.bottom);
else
{
CDIBSectionCE DIBSection;
if(bLoad = DIBSection.Load((LPCTSTR)m_sPictureName))
{
CSize size(rect.right,rect.bottom);
DIBSection.Stretch(&dc, CPoint(0,0), size);
};
};
if(bLoad == FALSE)
{
AfxMessageBox(L"与楼层关联的楼层图打开失败或已经删除!");
CBrush *pBrush = new CBrush(RGB(255,255,255));
dc.FillRect(CRect(0,0,rect.right ,rect.bottom),pBrush);
dc.MoveTo(0,0);
dc.LineTo(rect.right,rect.bottom);
dc.MoveTo(rect.right,0);
dc.LineTo(0,rect.bottom);
pBrush->DeleteObject();
delete pBrush;
}
delete pvoimage;
};
/*
*
*/
VOID CStaticPictureView::SetDIB(CString sDIB)
{
m_sPictureName = sDIB;
Invalidate();
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -