⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 viewwnd.h

📁 股票控件源代码
💻 H
字号:
// ViewWnd.h: interface for the CViewWnd class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_VIEWWND_H__6D4AC19C_A4B4_49AC_86D9_7594E506A7B9__INCLUDED_)
#define AFX_VIEWWND_H__6D4AC19C_A4B4_49AC_86D9_7594E506A7B9__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Elements.h"
#include "Commands.h"

#include "SymbolLibs.h"
#include "Scn.h"
#include "Event.h"
#include "Layer.h"
#include "dcl_graph.h"
typedef CList<CLayer *,CLayer *&> LayerList;
#define entSELECT 0
#define entPAN 1//平移
#define entWIN 2//开窗
#define entZOOM 3//缩放
#define entLINE 4//画线
#define entRECT 5//画矩形
#define entPOLYGON 6//画多边形
#define entCIR 7//画圆
#define entARC 8//画圆弧
#define entELLIPSE 9//画椭圆
#define entTEXT 10//画文本
#define entSYMBOL 11//画符号
#define entRECTSELECT 12//框选
#define entLINES    13//折线


class  DECL_GRAPH CViewWnd : public CObject  
{
public:
	CViewWnd(CWnd *pWnd);
	virtual ~CViewWnd();
public:

	int m_LineWidth;//线宽
	long m_LineColor;//线的颜色
    long m_FillColor;//填充颜色
	int m_FillStyle;//填充模式
	int m_LineStyle;//线型
	long m_HighLightColor;//高亮颜色
	long m_BackColor;//窗口背景颜色
	FontStyle m_FontStyle;//字体风格
	long m_ShowSelColor;
private:
	CScn m_Scn;//矩阵变换对象
	CCommands m_Commands;//命令集合
//    CSymbolLibs m_SymLibs;//符号库集合
    LayerList     m_Layers;//图层集合
	CElements    m_Elements;//图元集合
	CElements    m_SelElements;//选择图元集合
	CEvent       *m_pEvent;//当前事件
	CWnd         *m_pWnd;//关连的窗口指针
	BOOL         m_bDoneEnable;//UNDO/REDO开关
	BOOL         m_bSnap;//捕捉开关
	CLayer       *m_pActiveLayer;
private:
	void TransformDisplay(vector &MoveVec,double scale);
public:
	BOOL MoveLeft(int nPanUnit);//左移
	BOOL MoveRight(int nPanUnit);//右移
	BOOL MoveUp(int nPanUnit);//上移
	BOOL MoveDown(int nPanUnit);//下移
	BOOL Zoom(int nZoomUnit);//缩放
public:
    CLayer *ActiveLayer(){return m_pActiveLayer;};
	void    ActiveLayer(CLayer *pLayer);
	CWnd *GetWindow(){return m_pWnd;};
	
	//鼠标移动事件
	virtual void OnMouseMove(UINT nFlags, CPoint point);
	//鼠标左键双击事件
	virtual void OnLButtonDblClk(UINT nFlags, CPoint point);
	//鼠标右键双击事件
	virtual void OnRButtonDblClk(UINT nFlags, CPoint point);
	//鼠标左键单击按下事件
	virtual void OnLButtonDown(UINT nFlags, CPoint point);
	//鼠标左键单击弹上事件
	virtual void OnLButtonUp(UINT nFlags, CPoint point);
	//鼠标右键单击按下事件
	virtual void OnRButtonDown(UINT nFlags, CPoint point);
	//鼠标右键单击弹上事件
	virtual void OnRButtonUp(UINT nFlags, CPoint point);
	//键盘按下事件
	virtual void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
	//键盘弹上事件
	virtual void OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags);
	//绘制图元
	virtual void OnDraw(CDC *pDC);
	//得到图元集合
    CElements    *GetElements(){return &m_Elements;};
	//得到命令集合
    CCommands    *GetCommands(){return &m_Commands;};
    //得到选择图元集合
	CElements    *GetSelElements(){return &m_SelElements;};
	//得到符号库集
//    CSymbolLibs  *GetSymbolLibs(){return &m_SymLibs;};
	//得到变换对象
	CScn         *GetScn(){return &m_Scn;};
	//设置激活的事件对象
	void SetEvent(CEvent *pEvent);
	void SetEvent(int nState);
	//刷新
	void Refresh();
	//反悔
	void Undo();
	//重做
	void Redo();
	//设置UNDO/REDO
	void SetDone(BOOL bEnable);
	BOOL GetDone();
	void Snap(BOOL bSnap)
	{
		m_bSnap=bSnap;
		if(m_pEvent)
		{
			if(m_pEvent->Snap())
			    m_pEvent->SetSnap();
		    else
			    m_pEvent->KillSnap();
		}
	};
	BOOL Snap(){return m_bSnap;};
	
	

};

#endif // !defined(AFX_VIEWWND_H__6D4AC19C_A4B4_49AC_86D9_7594E506A7B9__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -