中国象棋控件 v2.0.13
全部  文件 函数 变量 类型定义 枚举 
ChineseChessActiveXCtrl.h
浏览该文件的文档.
1
7#pragma once
8
9// ChineseChessActiveXCtrl.h : CChineseChessActiveXCtrl ActiveX �ؼ����������
10
11
12// CChineseChessActiveXCtrl : ����� ChineseChessActiveXCtrl.cpp �˽�ʵ�֡�
13
14#include "ChineseChessView.h"
15
18{
19public:
21 {
22 m_pActiveX = pAcitveX;
23 }
24 virtual int OnGoChess(int i, int j, CPiece::ENUM_QiZi chess);
25
26private:
27 CChineseChessActiveXCtrl* m_pActiveX;
28};
29
36class CChineseChessActiveXCtrl : public COleControl
37{
38 DECLARE_DYNCREATE(CChineseChessActiveXCtrl)
39
40// ���캯��
41public:
43
44// ��д
45public:
46 virtual void DoPropExchange(CPropExchange* pPX);
47 virtual void OnResetState();
48
49// ʵ��
50protected:
52
53 DECLARE_OLECREATE_EX(CChineseChessActiveXCtrl) // �๤���� guid
54 DECLARE_OLETYPELIB(CChineseChessActiveXCtrl) // GetTypeInfo
55 DECLARE_PROPPAGEIDS(CChineseChessActiveXCtrl) // ����ҳ ID
56 DECLARE_OLECTLTYPE(CChineseChessActiveXCtrl) // �������ƺ�����״̬
57
58// ��Ϣӳ��
59 DECLARE_MESSAGE_MAP()
60 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
61 afx_msg void OnSize(UINT nType, int cx, int cy);
62
63// ����ӳ��
64 DECLARE_DISPATCH_MAP()
65
66 OLE_COLOR GetQiPangColor();
67 void SetQiPangColor(OLE_COLOR val);
68 void SetTiShiBoxColor(OLE_COLOR val);
69 OLE_COLOR GetTiShiBoxColor();
70 void SetBoardLayout(SHORT layout);
71 SHORT GetBoardLayout();
72 void OnEnablePromptSoundChanged();
73 VARIANT_BOOL m_EnablePromptSound;
74 void OnEnablePromptMessageChanged();
75 VARIANT_BOOL m_EnablePromptMessage;
76
77 BSTR GetRedName();
78 void SetRedName(LPCTSTR newVal);
79 BSTR GetBlackName();
80 void SetBlackName(LPCTSTR newVal);
81 LONG GetStartTime();
82 void SetStartTime(LONG val);
83 LONG GetEndTime();
84 void SetEndTime(LONG val);
85
86 afx_msg void AboutBox();
87 VARIANT_BOOL NextStep(); //��һ��
88 VARIANT_BOOL PreviouStep(); //��һ��
89 VARIANT_BOOL GoChess(SHORT i, SHORT j);
90 VARIANT_BOOL SaveChessGame(LPCTSTR szFile);
91 VARIANT_BOOL LoadChessGame(LPCTSTR szFile);
92 VARIANT_BOOL AddGameTag(LPCTSTR szTag, LPCTSTR szVal);
93 BSTR GetgameTag(LPCTSTR szTag);
94
95// �¼�ӳ��
96 DECLARE_EVENT_MAP()
97
98public:
99 void EventGoChess(SHORT i, SHORT j, LONG qz)
100 {
101 FireEvent(eventidEventGoChess, EVENT_PARAM(VTS_I2 VTS_I2 VTS_I4), i, j, qz);
102 }
103
104// ���Ⱥ��¼� ID
105public:
106 enum {
107 eventidEventGoChess = 1L,
108 dispidGetgameTag = 16L,
109 dispidAddGameTag = 15L,
110 dispidEndTime = 14,
111 dispidStartTime = 13,
112 dispidBlackName = 12L,
113 dispidRedName = 11L,
114 dispidPreviouStep = 10L,
115 dispidNextStep = 9L,
116 dispidLoadChessGame = 8L,
117 dispidSaveChessGame = 7L,
118 dispidGoChess = 6L,
119 dispidEnablePromptMessage = 5,
120 dispidEnablePromptSound = 4,
121 dispidBoardLayout = 3,
122 dispidTiShiBoxColor = 2,
123 dispidQiPangColor = 1,
124 };
125
126private:
127 CChineseChessView* m_pChess;
128
129 CChineseChessActiveXHandler* m_pHandler;
130};
131
�й����� ActiveX �ؼ��Ľ���ʵ����
virtual int OnGoChess(int i, int j, CPiece::ENUM_QiZi chess)
Executes the go chess action