📄 imagepaintarea.h
字号:
//*******************************************************************************
// COPYRIGHT NOTES
// ---------------
// This source code is a part of BCGControlBar library.
// You may use, compile or redistribute it as part of your application
// for free. You cannot redistribute it as a part of a software development
// library without the agreement of the author. If the sources are
// distributed along with the application, you should leave the original
// copyright notes in the source code without any changes.
// This code can be used WITHOUT ANY WARRANTIES on your own risk.
//
// Stas Levin <stas@iet.co.il>
//*******************************************************************************
#if !defined(AFX_IMAGEPAINTAREA_H__07E27537_C6D9_11D1_A647_00A0C93A70EC__INCLUDED_)
#define AFX_IMAGEPAINTAREA_H__07E27537_C6D9_11D1_A647_00A0C93A70EC__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// ImagePaintArea.h : header file
//
class CImageEditDlg;
/////////////////////////////////////////////////////////////////////////////
// CImagePaintArea window
class CImagePaintArea : public CButton
{
// Construction
public:
CImagePaintArea(CImageEditDlg* pParentDlg);
// Attributes
public:
enum IMAGE_EDIT_MODE
{
IMAGE_EDIT_MODE_PEN = 0,
IMAGE_EDIT_MODE_FILL,
IMAGE_EDIT_MODE_LINE,
IMAGE_EDIT_MODE_RECT,
IMAGE_EDIT_MODE_ELLIPSE,
IMAGE_EDIT_MODE_COLOR
};
CRect m_rectParentPreviewArea;
protected:
COLORREF m_rgbColor;
CDC m_memDC;
CSize m_sizeImage;
CBitmap* m_pBitmap;
IMAGE_EDIT_MODE m_Mode;
HCURSOR m_hcurPen;
HCURSOR m_hcurFill;
HCURSOR m_hcurLine;
HCURSOR m_hcurRect;
HCURSOR m_hcurEllipse;
HCURSOR m_hcurColor;
CSize m_sizeCell;
CImageEditDlg* m_pParentDlg;
CPen m_penDraw;
CPen m_penStretch;
CRect m_rectDraw;
// Operations
public:
void SetBitmap (CBitmap* pBitmap);
void SetColor (COLORREF color);
void SetMode (IMAGE_EDIT_MODE mode)
{
m_Mode = mode;
}
IMAGE_EDIT_MODE GetMode () const
{
return m_Mode;
}
protected:
void ScreenToBitmap (CPoint& point);
void BitmapToClient (CRect& rect);
void FloodFil (const CPoint& point);
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CImagePaintArea)
protected:
virtual void PreSubclassWindow();
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CImagePaintArea();
// Generated message map functions
protected:
//{{AFX_MSG(CImagePaintArea)
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
afx_msg void OnCancelMode();
afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
//}}AFX_MSG
virtual void DrawItem (LPDRAWITEMSTRUCT lpDIS);
void DrawPixel (POINT point);
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_IMAGEPAINTAREA_H__07E27537_C6D9_11D1_A647_00A0C93A70EC__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -