|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F>ļ<EFBFBD>: CItem<65><6D><EFBFBD><EFBFBD>չ
|
|
|
|
|
|
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
|
|
|
|
|
|
// <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD>ػ<EFBFBD><D8BB><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>
|
|
|
|
|
|
//
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д: 2006-12-07
|
|
|
|
|
|
//
|
|
|
|
|
|
//
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include "itemBase.h"
|
|
|
|
|
|
#include "cursor.h"
|
|
|
|
|
|
#include "DrawOperator\memdc.h"
|
|
|
|
|
|
|
|
|
|
|
|
namespace NDrawView
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
#define ITEM_VIEW_DEFAULT 0
|
|
|
|
|
|
#define ITEM_VIEW_PRINT 1
|
|
|
|
|
|
|
|
|
|
|
|
class CItemView :
|
|
|
|
|
|
public CItemBase
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CItemView(void);
|
|
|
|
|
|
CItemView(CSigmaDoc * ppDoc);
|
|
|
|
|
|
virtual ~CItemView(void);
|
|
|
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
void OnRButtonDblClk(UINT nFlags, CPoint point) override;
|
|
|
|
|
|
void OnRButtonDown(UINT nFlags, CPoint point) override;
|
|
|
|
|
|
BOOL OnRButtonUp(UINT nFlags, CPoint point) override;
|
|
|
|
|
|
BOOL OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) override;
|
|
|
|
|
|
BOOL OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags) override;
|
|
|
|
|
|
BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) override;
|
|
|
|
|
|
|
|
|
|
|
|
//<<3C><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>ӡԤ<D3A1><D4A4>>
|
|
|
|
|
|
void SetScreenRect(CRect rect);
|
|
|
|
|
|
virtual void OnLButtonDownForPreviewPrint(UINT nFlags, CPoint point);
|
|
|
|
|
|
virtual void OnLButtonUpForPreviewPrint(UINT nFlags, CPoint point);
|
|
|
|
|
|
virtual void OnMouseMoveForPreviewPrint(UINT nFlags, CPoint point);
|
|
|
|
|
|
void ScreenToPrint(CPoint & point);
|
|
|
|
|
|
void GetViewFactors(double & offsetXOut, double & offsetYOut, double & zoomFactorOut);
|
|
|
|
|
|
void SetViewFactors(double offsetX, double offsetY, double zoomFactor);
|
|
|
|
|
|
void SetViewScreenFactors(double offsetX, double offsetY, double zoomFactor);
|
|
|
|
|
|
// <20>任<EFBFBD><E4BBBB>ԭʼ<D4AD><CABC><EFBFBD><EFBFBD>
|
|
|
|
|
|
double TransfromX(double x);
|
|
|
|
|
|
double TransfromY(double y);
|
|
|
|
|
|
CRect TransfromRect(CRect rtSource);
|
|
|
|
|
|
|
|
|
|
|
|
double DeTransfromX(double x);
|
|
|
|
|
|
double DeTransfromY(double y);
|
|
|
|
|
|
// ת<><D7AA><EFBFBD><EFBFBD><EFBFBD>任<EFBFBD><E4BBBB><EFBFBD><EFBFBD>
|
|
|
|
|
|
CRect DeTransfromRect(CRect rtSource);
|
|
|
|
|
|
//</<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>ӡԤ<D3A1><D4A4>>
|
|
|
|
|
|
|
|
|
|
|
|
void SetMemDC(CMemoryDC* pMemViewDC) {
|
|
|
|
|
|
m_pMemViewDC = pMemViewDC;
|
|
|
|
|
|
}
|
|
|
|
|
|
CDC * GetMemDC(void) { return m_pMemViewDC; }
|
|
|
|
|
|
virtual CRect GetClientRect(void);
|
|
|
|
|
|
virtual void setClientRect(CRect rect);
|
|
|
|
|
|
virtual int GetPanMode(void);
|
|
|
|
|
|
virtual BOOL GetViewRange(CRect8& rect); //<2F><><EFBFBD><EFBFBD>Ҫȫͼ<C8AB><CDBC>ʾ<EFBFBD>ķ<EFBFBD>Χ
|
|
|
|
|
|
|
|
|
|
|
|
eCursorSelectStruct GetCursor(void);
|
|
|
|
|
|
int IsViewState(void);
|
|
|
|
|
|
|
|
|
|
|
|
void Extend(int mode);
|
|
|
|
|
|
void Enlarge(void);
|
|
|
|
|
|
void Reduce(void);
|
|
|
|
|
|
void Reduce(double factor);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD>Ŵ<EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param point <EFBFBD>Ŵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>
|
|
|
|
|
|
* \param factor <EFBFBD>Ŵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>СҲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD> 1 ʱΪ<EFBFBD><EFBFBD>С
|
|
|
|
|
|
*/
|
|
|
|
|
|
void Reduce(CPoint2D point, double factor);
|
|
|
|
|
|
void ReduceForScreenPoint();
|
|
|
|
|
|
void PanTo(CPoint2D point); //<2F>ƶ<EFBFBD><C6B6><EFBFBD>point,<2C><>pointΪ<74><CEAA><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
void EnableOldMode(BOOL bEnable);
|
|
|
|
|
|
BOOL IsOldMode(void);
|
|
|
|
|
|
public:
|
|
|
|
|
|
CView* GetActiveView(void);
|
|
|
|
|
|
BOOL IsCaptureCursor(void);
|
|
|
|
|
|
void SetDisplayRange(void);
|
|
|
|
|
|
int zoomMode;
|
|
|
|
|
|
protected:
|
|
|
|
|
|
CPoint m_ptLeft;
|
|
|
|
|
|
CRect8 m_rect;
|
|
|
|
|
|
CRect8 m_rectForPrint;
|
|
|
|
|
|
CRect m_scressRect;
|
|
|
|
|
|
CRect m_clientRect;
|
|
|
|
|
|
BOOL bCaptureCursor;
|
|
|
|
|
|
// CMemoryDC m_MemDC;
|
|
|
|
|
|
BOOL m_bRButtonDown;
|
|
|
|
|
|
BOOL m_bEnableCaptureCursor;
|
|
|
|
|
|
BOOL m_bOldViewMode;
|
|
|
|
|
|
//int m_type;
|
|
|
|
|
|
CMemoryDC* m_pMemViewDC;
|
|
|
|
|
|
double m_offsetX;
|
|
|
|
|
|
double m_offsetY;
|
|
|
|
|
|
double m_zoomFactor;
|
|
|
|
|
|
|
|
|
|
|
|
double m_offsetScreenX;
|
|
|
|
|
|
double m_offsetScreenY;
|
|
|
|
|
|
double m_screenFactor;
|
|
|
|
|
|
|
|
|
|
|
|
void LButtonDownPan(CPoint point);
|
|
|
|
|
|
void MouseMovePan(CPoint point);
|
|
|
|
|
|
void MouseMovePanForPreviewPrint(CPoint point);
|
|
|
|
|
|
void LButtonUpPan(CPoint point);
|
|
|
|
|
|
void RectangleSolid(CXyDC* pDC, CRect8* pRect);
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
};
|