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

1 month ago
#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);
//<2F><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ
virtual bool CopyRectToClipboard(double scaleFactor);
////<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>
//void CopyWindowToClipboard(CRect windowRect);
////<2F><>ȡȫͼ.<2E><EFBFBD><E0B5B1><EFBFBD><EFBFBD>ȫͼ<C8AB><CDBC><EFBFBD><EFBFBD>.<2E>ڽ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>
//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);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӱ
virtual void DrawShadow(CDC* pDC, CRect& rectScreen, CRect rectCenter);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void DrawNetGrid(CDC* pDC);
// <20><><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD>
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;
};
}