You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.7 KiB
C++
61 lines
1.7 KiB
C++
#pragma once
|
|
#include "ItemRectTracker.h"
|
|
#include "itemGrid.h"
|
|
#include ".\itemproportion.h"
|
|
namespace NItem
|
|
{
|
|
class CItemCopyAsImageEx:public CItemRectTracker
|
|
{
|
|
public:
|
|
CItemCopyAsImageEx(CSigmaDoc* ppDoc);
|
|
virtual ~CItemCopyAsImageEx();
|
|
virtual int SetRange(CRect rec);
|
|
void GetRange(CRect8* rec);
|
|
void Clear();
|
|
|
|
void OnDraw(CXyDC* pXyDC, CDC* pDC) override;
|
|
void Refresh(CDC* pDC);
|
|
virtual void TraceEnd();
|
|
void OnLButtonDown(CDC *pDC, UINT nFlags, CPoint point, int vk) override;
|
|
void OnLButtonUp(CDC *pDC, UINT nFlags, CPoint point, int vk) override;
|
|
int OnMouseMove(CDC *pDC, UINT nFlags, CPoint point) override;
|
|
int HitTest(CPoint point);
|
|
|
|
virtual void TrackHandle(int nHandle, CPoint point, CDC * pDCScreen);
|
|
|
|
//按选择区域截图
|
|
virtual bool CopyRectToClipboard(double scaleFactor);
|
|
////截取整个绘图窗口
|
|
//void CopyWindowToClipboard(CRect windowRect);
|
|
////截取全图.相当于先全图缩放.在截取整个绘图窗口
|
|
//void CopyAllToClipboard(void);
|
|
void SetProportionVisible(bool visible);
|
|
void SetNetGridVisible(bool visible);
|
|
void SetNetGridParameter(RectangularCSGridData* pData);
|
|
|
|
void GetTrueRect(CRect8* lpTrueRect);
|
|
int GetPropotionData(ProportionData * data);
|
|
void SetPropotionData(ProportionData * data);
|
|
|
|
protected:
|
|
virtual void CopyToClipboard(CRect8 & rect, double scaleFactor);
|
|
// 绘制阴影
|
|
virtual void DrawShadow(CDC* pDC, CRect& rectScreen, CRect rectCenter);
|
|
// 绘制坐标框
|
|
void DrawNetGrid(CDC* pDC);
|
|
// 绘制比例尺
|
|
void DrawScaleBar(CDC* pDC);
|
|
protected:
|
|
CRect m_range;
|
|
CRect8 m_coorRect;
|
|
//CHSimpleTracker * m_pTracker;
|
|
|
|
COLORREF m_color;
|
|
CProportion m_Proportion;
|
|
bool m_ShowProportion;
|
|
CGridding m_Net;
|
|
bool m_ShowNetGrid;
|
|
};
|
|
}
|
|
|