OSDN Git Service

20021009版ソース
[seraphyscrtools/SeraphyScriptTools.git] / Event.cpp
1 // Event.cpp : CEvent \82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
2 #include "stdafx.h"
3 #include "SeraphyScriptTools.h"
4 #include "Event.h"
5 #include "generic.h"
6
7 /////////////////////////////////////////////////////////////////////////////
8 // CEvent
9
10 STDMETHODIMP CEvent::InterfaceSupportsErrorInfo(REFIID riid)
11 {
12         static const IID* arr[] = 
13         {
14                 &IID_IEvent
15         };
16         for (int i=0; i < sizeof(arr) / sizeof(arr[0]); i++)
17         {
18                 if (IsEqualGUID(*arr[i],riid))
19                         return S_OK;
20         }
21         return S_FALSE;
22 }
23
24
25 STDMETHODIMP CEvent::get_Message(short *pVal)
26 {
27         *pVal = m_message;
28         return S_OK;
29 }
30
31 STDMETHODIMP CEvent::get_Parameter(short *pVal)
32 {
33         *pVal = m_param;
34         return S_OK;
35 }
36
37 STDMETHODIMP CEvent::get_ExtParameter(long *pVal)
38 {
39         *pVal = (long)m_lparam;
40         return S_OK;
41 }
42
43 STDMETHODIMP CEvent::get_PosX(double *pVal)
44 {
45         *pVal = (double)m_ptLP.x / 10.;
46         return S_OK;
47 }
48
49 STDMETHODIMP CEvent::get_PosY(double *pVal)
50 {
51         *pVal = (double)m_ptLP.y / 10.;
52         return S_OK;
53 }
54
55
56 STDMETHODIMP CEvent::get_DPosX(long *pVal)
57 {
58         *pVal = (long)m_ptDP.x;
59         return S_OK;
60 }
61
62 STDMETHODIMP CEvent::get_DPosY(long *pVal)
63 {
64         *pVal = (long)m_ptDP.y;
65         return S_OK;
66 }
67
68 STDMETHODIMP CEvent::get_time(DATE *pVal)
69 {
70         *pVal = m_time;
71         return S_OK;
72 }
73
74 void CEvent::SetData(short message, short wParam,DWORD lParam,POINT& pt,POINT& lp)
75 {
76         SYSTEMTIME systim;
77         GetLocalTime(&systim);
78         SystemTimeToVariantTime(&systim,&m_time);
79         m_ptDP    = pt;
80         m_ptLP    = lp;
81         m_message = message;
82         m_param   = wParam;
83         m_lparam  = lParam;
84 }
85
86 STDMETHODIMP CEvent::IsMouseMove(BOOL *pResult)
87 {
88         *pResult = (m_message == WM_MOUSEMOVE)?VB_TRUE:VB_FALSE;
89         return S_OK;
90 }
91
92 STDMETHODIMP CEvent::IsClick(BOOL *pResult)
93 {
94         *pResult = (m_message == WM_LBUTTONDOWN)?VB_TRUE:VB_FALSE;
95         return S_OK;
96 }
97
98 STDMETHODIMP CEvent::IsRClick(BOOL *pResult)
99 {
100         *pResult = (m_message == WM_RBUTTONDOWN)?VB_TRUE:VB_FALSE;
101         return S_OK;
102 }
103
104 STDMETHODIMP CEvent::IsClickCancel(BOOL *pResult)
105 {
106         *pResult = (m_message == WM_CAPTURECHANGED &&
107                                 m_param   == 1 )?VB_TRUE:VB_FALSE;
108         return S_OK;
109 }
110
111 STDMETHODIMP CEvent::IsRClickCancel(BOOL *pResult)
112 {
113         *pResult = (m_message == WM_CAPTURECHANGED &&
114                                 m_param   == 2 )?VB_TRUE:VB_FALSE;
115         return S_OK;
116 }
117
118 STDMETHODIMP CEvent::IsClickOut(BOOL *pResult)
119 {
120         *pResult = (m_message == WM_LBUTTONUP)?VB_TRUE:VB_FALSE;
121         return S_OK;
122 }
123
124 STDMETHODIMP CEvent::IsRClickOut(BOOL *pResult)
125 {
126         *pResult = (m_message == WM_RBUTTONUP)?VB_TRUE:VB_FALSE;
127         return S_OK;
128 }
129
130 STDMETHODIMP CEvent::IsCommand(BOOL *pResult)
131 {
132         *pResult = (m_message == WM_COMMAND &&
133                             (m_param > IDABORT) )?VB_TRUE:VB_FALSE;
134         return S_OK;
135 }
136
137 STDMETHODIMP CEvent::IsTimer(BOOL *pResult)
138 {
139         *pResult = (m_message == WM_TIMER)?VB_TRUE:VB_FALSE;
140         return S_OK;
141 }
142
143 STDMETHODIMP CEvent::IsSize(BOOL *pResult)
144 {
145         *pResult = (m_message == WM_SIZE)?VB_TRUE:VB_FALSE;
146         return S_OK;
147 }
148
149 STDMETHODIMP CEvent::IsExit(BOOL *pResult)
150 {
151         *pResult = (m_message == WM_COMMAND &&
152                                 m_param   == IDABORT)?VB_TRUE:VB_FALSE;
153         return S_OK;
154 }
155
156 STDMETHODIMP CEvent::IsOK(BOOL *pResult)
157 {
158         *pResult = (m_message == WM_COMMAND &&
159                                 m_param   == IDOK)?VB_TRUE:VB_FALSE;
160         return S_OK;
161 }
162
163 STDMETHODIMP CEvent::IsCancel(BOOL *pResult)
164 {
165         *pResult = (m_message == WM_COMMAND &&
166                                 m_param   == IDCANCEL)?VB_TRUE:VB_FALSE;
167         return S_OK;
168 }
169
170 STDMETHODIMP CEvent::IsDblClick(BOOL *pResult)
171 {
172         *pResult = (m_message == WM_LBUTTONDBLCLK)?VB_TRUE:VB_FALSE;
173         return S_OK;
174 }
175
176 STDMETHODIMP CEvent::IsRDblClick(BOOL *pResult)
177 {
178         *pResult = (m_message == WM_RBUTTONDBLCLK)?VB_TRUE:VB_FALSE;
179         return S_OK;
180 }
181
182 STDMETHODIMP CEvent::IsContextMenu(BOOL *pResult)
183 {
184         *pResult = (m_message == WM_NOTIFY && m_lparam == VK_RBUTTON)?VB_TRUE:VB_FALSE;
185         return S_OK;
186 }
187
188 STDMETHODIMP CEvent::IsContextDelete(BOOL *pResult)
189 {
190         *pResult = (m_message == WM_NOTIFY && m_lparam == VK_DELETE)?VB_TRUE:VB_FALSE;
191         return S_OK;
192 }
193
194 STDMETHODIMP CEvent::IsKeydown(BOOL *pResult)
195 {
196         *pResult = (m_message == WM_KEYDOWN)?VB_TRUE:VB_FALSE;
197         return S_OK;
198 }
199
200 STDMETHODIMP CEvent::IsKeydown2(BOOL *pResult)
201 {
202         *pResult = (m_message == WM_KEYDOWN_EX)?VB_TRUE:VB_FALSE;
203         return S_OK;
204 }