home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0210 - 0219 / ibm0210-0219 / ibm0213.tar / ibm0213 / PWA_AWAR.ZIP / SAMPMFC.Z / AWAREVBX.H next >
Encoding:
C/C++ Source or Header  |  1994-07-05  |  212.4 KB  |  4,923 lines

  1. //----------------------------------------------------------
  2. //
  3. // File: AWAREVBX.H
  4. //
  5. // Copyright (C) 1994 FarPoint Technologies.
  6. // All rights reserved.
  7. //
  8. //----------------------------------------------------------
  9.  
  10. #ifndef _AWAREVBX_H
  11. #define _AWAREVBX_H
  12.  
  13. #include "..\..\..\include\fp_base.h"
  14.  
  15.  
  16. // Class representing AwareText10 control in AWARE.VBX file
  17.  
  18. class CAwareText : public CVBControl
  19. {
  20.   public:
  21.  
  22. #ifdef fpMFC
  23.  
  24.     BOOL Create(DWORD dwStyle, const RECT& rect,
  25.                 CWnd* pParentWnd, UINT nID,
  26.                 CFile* pFile = NULL, BOOL bAutoDelete = FALSE)
  27.     {
  28.       return CVBControl::Create(
  29.                "AWARE.VBX;AwareText10;",
  30.                dwStyle, rect,
  31.                pParentWnd, nID,
  32.                pFile, bAutoDelete
  33.              );
  34.     }
  35.  
  36. #elif fpOWL
  37.  
  38.     CAwareText(TWindow* parent, int id,
  39.         const char far* title,
  40.         int x, int y, int w, int h,
  41.         long initLen = 0, void far* initData = 0,
  42.         TModule* module = 0)
  43.     : CVBControl(parent, id, "AWARE.VBX", "AwareText10",
  44.           title, x, y, w, h, initLen, initData, module) {};
  45.  
  46.     CAwareText(TWindow* parent, int resourceId, TModule* module = 0)
  47.     : CVBControl(parent, resourceId, module) {};
  48.  
  49. #endif
  50.  
  51.     CStringProperty About() {return CStringProperty(this,99);}
  52.     CEnumProperty AlignTextH() {return CEnumProperty(this,60);}
  53.     CEnumProperty AlignTextV() {return CEnumProperty(this,61);}
  54.     CBoolProperty AllowNull() {return CBoolProperty(this,62);}
  55.     CBoolProperty AutoAdvance() {return CBoolProperty(this,64);}
  56.     CBoolProperty AutoBeep() {return CBoolProperty(this,65);}
  57.     CEnumProperty AutoCase() {return CEnumProperty(this,66);}
  58.     CColorProperty BackColor() {return CColorProperty(this,2);}
  59.     CColorProperty BorderColor() {return CColorProperty(this,37);}
  60.     CColorProperty BorderGrayAreaColor() {return CColorProperty(this,100);}
  61.     CEnumProperty BorderStyle() {return CEnumProperty(this,36);}
  62.     CShortProperty BorderWidth() {return CShortProperty(this,38);}
  63.     CBoolProperty ButtonDefaultAction() {return CBoolProperty(this,50);}
  64.     CBoolProperty ButtonDisable() {return CBoolProperty(this,41);}
  65.     CBoolProperty ButtonHide() {return CBoolProperty(this,42);}
  66.     CShortProperty ButtonIncrement() {return CShortProperty(this,43);}
  67.     CShortProperty ButtonIndex() {return CShortProperty(this,44);}
  68.     CShortProperty ButtonMax() {return CShortProperty(this,46);}
  69.     CShortProperty ButtonMin() {return CShortProperty(this,45);}
  70.     CEnumProperty ButtonStyle() {return CEnumProperty(this,47);}
  71.     CLongProperty ButtonWidth() {return CLongProperty(this,48);}
  72.     CBoolProperty ButtonWrap() {return CBoolProperty(this,49);}
  73.     CEnumProperty CaretInsert() {return CEnumProperty(this,67);}
  74.     CEnumProperty CaretOverWrite() {return CEnumProperty(this,68);}
  75.     CLongProperty CharPositionLeft() {return CLongProperty(this,69);}
  76.     CLongProperty CharPositionRight() {return CLongProperty(this,70);}
  77.     CStringProperty CharValidationText() {return CStringProperty(this,93);}
  78.     CEnumProperty ControlType() {return CEnumProperty(this,91);}
  79.     CLongProperty CurrentPosition() {return CLongProperty(this,71);}
  80.     CColorProperty DropShadowColor() {return CColorProperty(this,53);}
  81.     CShortProperty DropShadowWidth() {return CShortProperty(this,54);}
  82.     CBoolProperty Enabled() {return CBoolProperty(this,19);}
  83.     CBoolProperty FontBold() {return CBoolProperty(this,10);}
  84.     CBoolProperty FontItalic() {return CBoolProperty(this,11);}
  85.     CStringProperty FontName() {return CStringProperty(this,9);}
  86.     CFloatProperty FontSize() {return CFloatProperty(this,14);}
  87.     CBoolProperty FontStrikethru() {return CBoolProperty(this,12);}
  88.     CBoolProperty FontUnderline() {return CBoolProperty(this,13);}
  89.     CColorProperty ForeColor() {return CColorProperty(this,3);}
  90.     CLongProperty Height() {return CLongProperty(this,7);}
  91.     CBoolProperty HideSelection() {return CBoolProperty(this,73);}
  92.     CFloatProperty IncHoriz() {return CFloatProperty(this,97);}
  93.     CShortProperty Index() {return CShortProperty(this,1);}
  94.     CColorProperty InvalidColor() {return CColorProperty(this,75);}
  95.     CEnumProperty InvalidOption() {return CEnumProperty(this,76);}
  96.     CBoolProperty IsNull() {return CBoolProperty(this,77);}
  97.     CBoolProperty IsValid() {return CBoolProperty(this,78);}
  98.     CLongProperty Left() {return CLongProperty(this,4);}
  99.     CShortProperty MarginBottom() {return CShortProperty(this,82);}
  100.     CShortProperty MarginLeft() {return CShortProperty(this,79);}
  101.     CShortProperty MarginRight() {return CShortProperty(this,81);}
  102.     CShortProperty MarginTop() {return CShortProperty(this,80);}
  103.     CLongProperty MaxLength() {return CLongProperty(this,94);}
  104.     CEnumProperty MousePointer() {return CEnumProperty(this,8);}
  105.     CBoolProperty MultiLine() {return CBoolProperty(this,95);}
  106.     CStringProperty Name() {return CStringProperty(this,0);}
  107.     CEnumProperty NoSpecialKeys() {return CEnumProperty(this,63);}
  108.     CColorProperty NullColor() {return CColorProperty(this,83);}
  109.     CEnumProperty OnFocusAlignH() {return CEnumProperty(this,84);}
  110.     CEnumProperty OnFocusAlignV() {return CEnumProperty(this,85);}
  111.     CBoolProperty OnFocusInvert3D() {return CBoolProperty(this,51);}
  112.     CBoolProperty OnFocusNoSelect() {return CBoolProperty(this,86);}
  113.     CEnumProperty OnFocusPosition() {return CEnumProperty(this,87);}
  114.     CBoolProperty OnFocusShadow() {return CBoolProperty(this,52);}
  115.     CShortProperty Parent() {return CShortProperty(this,20);}
  116.     CStringProperty PasswordChar() {return CStringProperty(this,96);}
  117.     CBoolProperty Redraw() {return CBoolProperty(this,98);}
  118.     CLongProperty SelLength() {return CLongProperty(this,88);}
  119.     CLongProperty SelStart() {return CLongProperty(this,89);}
  120.     CStringProperty SelText() {return CStringProperty(this,90);}
  121.     CShortProperty TabIndex() {return CShortProperty(this,15);}
  122.     CShortProperty TabStop() {return CShortProperty(this,16);}
  123.     CStringProperty Tag() {return CStringProperty(this,21);}
  124.     CStringProperty Text() {return CStringProperty(this,92);}
  125.     CShortProperty ThreeDFrameWidth() {return CShortProperty(this,35);}
  126.     CColorProperty ThreeDInsideHighlightColor() {return CColorProperty(this,28);}
  127.     CColorProperty ThreeDInsideShadowColor() {return CColorProperty(this,29);}
  128.     CEnumProperty ThreeDInsideStyle() {return CEnumProperty(this,27);}
  129.     CShortProperty ThreeDInsideWidth() {return CShortProperty(this,30);}
  130.     CColorProperty ThreeDOutsideHighlightColor() {return CColorProperty(this,32);}
  131.     CColorProperty ThreeDOutsideShadowColor() {return CColorProperty(this,33);}
  132.     CEnumProperty ThreeDOutsideStyle() {return CEnumProperty(this,31);}
  133.     CShortProperty ThreeDOutsideWidth() {return CShortProperty(this,34);}
  134.     CEnumProperty ThreeDText() {return CEnumProperty(this,55);}
  135.     CColorProperty ThreeDTextHighlightColor() {return CColorProperty(this,56);}
  136.     CShortProperty ThreeDTextOffset() {return CShortProperty(this,58);}
  137.     CColorProperty ThreeDTextShadowColor() {return CColorProperty(this,57);}
  138.     CLongProperty Top() {return CLongProperty(this,5);}
  139.     CEnumProperty UserEntry() {return CEnumProperty(this,72);}
  140.     CBoolProperty Visible() {return CBoolProperty(this,22);}
  141.     CLongProperty Width() {return CLongProperty(this,6);}
  142.     CShortProperty hWnd() {return CShortProperty(this,74);}
  143.  
  144. };
  145.  
  146. #ifdef fpMFC
  147.  
  148. inline void AFXAPI
  149. DDX_VBControl(CDataExchange* pDX, int nIDC, CAwareText*& rpAwareText)
  150. {
  151.   CVBControl* pControl = (CVBControl*)rpAwareText;
  152.   DDX_VBControl(pDX, nIDC, pControl);
  153.   rpAwareText = (CAwareText*)pControl;
  154. }
  155. #endif
  156.  
  157. // AwareText event indices
  158. #define EVENT_TXT_ADVANCE 0
  159. #define EVENT_TXT_BUTTONHIT 1
  160. #define EVENT_TXT_CHANGE 2
  161. #define EVENT_TXT_CHANGEMODE 3
  162. #define EVENT_TXT_CLICK 4
  163. #define EVENT_TXT_DBLCLICK 5
  164. #define EVENT_TXT_GOTFOUCS 8
  165. #define EVENT_TXT_INVALIDDATA 9
  166. #define EVENT_TXT_KEYDOWN 10
  167. #define EVENT_TXT_KEYPRESS 11
  168. #define EVENT_TXT_KEYUP 12
  169. #define EVENT_TXT_LOSTFOCUS 13
  170. #define EVENT_TXT_MOUSEDOWN 14
  171. #define EVENT_TXT_MOUSEMOVE 15
  172. #define EVENT_TXT_MOUSEUP 16
  173. #define EVENT_TXT_USERERROR 17
  174.  
  175. // AwareText property indices
  176. #define PROP_TXT_ABOUT 99
  177. #define PROP_TXT_ACTION 59
  178. #define PROP_TXT_ALIGNTEXTH 60
  179. #define PROP_TXT_ALIGNTEXTV 61
  180. #define PROP_TXT_ALLOWNULL 62
  181. #define PROP_TXT_AUTOADVANCE 64
  182. #define PROP_TXT_AUTOBEEP 65
  183. #define PROP_TXT_AUTOCASE 66
  184. #define PROP_TXT_BACKCOLOR 2
  185. #define PROP_TXT_BORDERCOLOR 37
  186. #define PROP_TXT_BORDERGRAYAREACOLOR 100
  187. #define PROP_TXT_BORDERSTYLE 36
  188. #define PROP_TXT_BORDERWIDTH 38
  189. #define PROP_TXT_BUTTONDEFAULTACTION 50
  190. #define PROP_TXT_BUTTONDISABLE 41
  191. #define PROP_TXT_BUTTONHIDE 42
  192. #define PROP_TXT_BUTTONINCREMENT 43
  193. #define PROP_TXT_BUTTONINDEX 44
  194. #define PROP_TXT_BUTTONMAX 46
  195. #define PROP_TXT_BUTTONMIN 45
  196. #define PROP_TXT_BUTTONSTYLE 47
  197. #define PROP_TXT_BUTTONWIDTH 48
  198. #define PROP_TXT_BUTTONWRAP 49
  199. #define PROP_TXT_CARETINSERT 67
  200. #define PROP_TXT_CARETOVERWRITE 68
  201. #define PROP_TXT_CHARPOSITIONLEFT 69
  202. #define PROP_TXT_CHARPOSITIONRIGHT 70
  203. #define PROP_TXT_CHARVALIDATIONTEXT 93
  204. #define PROP_TXT_CONTROLTYPE 91
  205. #define PROP_TXT_CURRENTPOSITION 71
  206. #define PROP_TXT_DROPSHADOWCOLOR 53
  207. #define PROP_TXT_DROPSHADOWWIDTH 54
  208. #define PROP_TXT_ENABLED 19
  209. #define PROP_TXT_FONTBOLD 10
  210. #define PROP_TXT_FONTITALIC 11
  211. #define PROP_TXT_FONTNAME 9
  212. #define PROP_TXT_FONTSIZE 14
  213. #define PROP_TXT_FONTSTRIKETHRU 12
  214. #define PROP_TXT_FONTUNDERLINE 13
  215. #define PROP_TXT_FORECOLOR 3
  216. #define PROP_TXT_HEIGHT 7
  217. #define PROP_TXT_HIDESELECTION 73
  218. #define PROP_TXT_INCHORIZ 97
  219. #define PROP_TXT_INDEX 1
  220. #define PROP_TXT_INVALIDCOLOR 75
  221. #define PROP_TXT_INVALIDOPTION 76
  222. #define PROP_TXT_ISNULL 77
  223. #define PROP_TXT_ISVALID 78
  224. #define PROP_TXT_LEFT 4
  225. #define PROP_TXT_MARGINBOTTOM 82
  226. #define PROP_TXT_MARGINLEFT 79
  227. #define PROP_TXT_MARGINRIGHT 81
  228. #define PROP_TXT_MARGINTOP 80
  229. #define PROP_TXT_MAXLENGTH 94
  230. #define PROP_TXT_MOUSEPOINTER 8
  231. #define PROP_TXT_MULTILINE 95
  232. #define PROP_TXT_NAME 0
  233. #define PROP_TXT_NOSPECIALKEYS 63
  234. #define PROP_TXT_NULLCOLOR 83
  235. #define PROP_TXT_ONFOCUSALIGNH 84
  236. #define PROP_TXT_ONFOCUSALIGNV 85
  237. #define PROP_TXT_ONFOCUSINVERT3D 51
  238. #define PROP_TXT_ONFOCUSNOSELECT 86
  239. #define PROP_TXT_ONFOCUSPOSITION 87
  240. #define PROP_TXT_ONFOCUSSHADOW 52
  241. #define PROP_TXT_PARENT 20
  242. #define PROP_TXT_PASSWORDCHAR 96
  243. #define PROP_TXT_REDRAW 98
  244. #define PROP_TXT_SELLENGTH 88
  245. #define PROP_TXT_SELSTART 89
  246. #define PROP_TXT_SELTEXT 90
  247. #define PROP_TXT_TABINDEX 15
  248. #define PROP_TXT_TABSTOP 16
  249. #define PROP_TXT_TAG 21
  250. #define PROP_TXT_TEXT 92
  251. #define PROP_TXT_THREEDFRAMEWIDTH 35
  252. #define PROP_TXT_THREEDINSIDEHIGHLIGHTCOLOR 28
  253. #define PROP_TXT_THREEDINSIDESHADOWCOLOR 29
  254. #define PROP_TXT_THREEDINSIDESTYLE 27
  255. #define PROP_TXT_THREEDINSIDEWIDTH 30
  256. #define PROP_TXT_THREEDOUTSIDEHIGHLIGHTCOLOR 32
  257. #define PROP_TXT_THREEDOUTSIDESHADOWCOLOR 33
  258. #define PROP_TXT_THREEDOUTSIDESTYLE 31
  259. #define PROP_TXT_THREEDOUTSIDEWIDTH 34
  260. #define PROP_TXT_THREEDTEXT 55
  261. #define PROP_TXT_THREEDTEXTHIGHLIGHTCOLOR 56
  262. #define PROP_TXT_THREEDTEXTOFFSET 58
  263. #define PROP_TXT_THREEDTEXTSHADOWCOLOR 57
  264. #define PROP_TXT_TOP 5
  265. #define PROP_TXT_USERENTRY 72
  266. #define PROP_TXT_VISIBLE 22
  267. #define PROP_TXT_WIDTH 6
  268. #define PROP_TXT_HWND 74
  269.  
  270. #ifdef fpMFC
  271.  
  272.  
  273. // AwareText event macros
  274. #define TXT_ADVANCE_DIRECTION(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  275. #define TXT_ADVANCE_AUTOADVANCE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  276. #define TXT_BUTTONHIT_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  277. #define TXT_BUTTONHIT_NEWINDEX(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  278. #define TXT_CHANGEMODE_EDITMODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  279. #define TXT_CLICK_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  280. #define TXT_DBLCLICK_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  281. #define TXT_INVALIDDATA_NEXTWND(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  282. #define TXT_KEYDOWN_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,1)
  283. #define TXT_KEYDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  284. #define TXT_KEYPRESS_KEYASCII(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  285. #define TXT_KEYUP_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  286. #define TXT_KEYUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  287. #define TXT_MOUSEDOWN_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  288. #define TXT_MOUSEDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  289. #define TXT_MOUSEDOWN_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  290. #define TXT_MOUSEDOWN_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  291. #define TXT_MOUSEMOVE_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  292. #define TXT_MOUSEMOVE_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  293. #define TXT_MOUSEMOVE_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  294. #define TXT_MOUSEMOVE_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  295. #define TXT_MOUSEUP_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  296. #define TXT_MOUSEUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  297. #define TXT_MOUSEUP_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  298. #define TXT_MOUSEUP_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  299. #define TXT_USERERROR_ERRORCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  300. #define TXT_USERERROR_AUTOBEEP(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  301.  
  302. #elif fpOWL
  303.  
  304.  
  305. // AwareText event macros
  306. #define TXT_ADVANCE_DIRECTION(event) VBX_EVENTARGNUM(event,int,0)
  307. #define TXT_ADVANCE_AUTOADVANCE(event) VBX_EVENTARGNUM(event,int,1)
  308. #define TXT_BUTTONHIT_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  309. #define TXT_BUTTONHIT_NEWINDEX(event) VBX_EVENTARGNUM(event,int,1)
  310. #define TXT_CHANGEMODE_EDITMODE(event) VBX_EVENTARGNUM(event,int,0)
  311. #define TXT_CLICK_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  312. #define TXT_DBLCLICK_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  313. #define TXT_INVALIDDATA_NEXTWND(event) VBX_EVENTARGNUM(event,int,0)
  314. #define TXT_KEYDOWN_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  315. #define TXT_KEYDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  316. #define TXT_KEYPRESS_KEYASCII(event) VBX_EVENTARGNUM(event,int,0)
  317. #define TXT_KEYUP_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  318. #define TXT_KEYUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  319. #define TXT_MOUSEDOWN_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  320. #define TXT_MOUSEDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  321. #define TXT_MOUSEDOWN_X(event) VBX_EVENTARGNUM(event,float,2)
  322. #define TXT_MOUSEDOWN_Y(event) VBX_EVENTARGNUM(event,float,3)
  323. #define TXT_MOUSEMOVE_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  324. #define TXT_MOUSEMOVE_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  325. #define TXT_MOUSEMOVE_X(event) VBX_EVENTARGNUM(event,float,2)
  326. #define TXT_MOUSEMOVE_Y(event) VBX_EVENTARGNUM(event,float,3)
  327. #define TXT_MOUSEUP_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  328. #define TXT_MOUSEUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  329. #define TXT_MOUSEUP_X(event) VBX_EVENTARGNUM(event,float,2)
  330. #define TXT_MOUSEUP_Y(event) VBX_EVENTARGNUM(event,float,3)
  331. #define TXT_USERERROR_ERRORCODE(event) VBX_EVENTARGNUM(event,int,0)
  332. #define TXT_USERERROR_AUTOBEEP(event) VBX_EVENTARGNUM(event,int,1)
  333.  
  334. #endif
  335.  
  336.  
  337. // AwareText property values
  338. #define TXT_ACTION_COPY 0
  339. #define TXT_ACTION_CUT 1
  340. #define TXT_ACTION_PASTE 2
  341. #define TXT_ACTION_CLEAR 3
  342. #define TXT_ACTION_UNDO 4
  343. #define TXT_ACTION_SET_NULL 5
  344. #define TXT_ALIGNTEXTH_LEFT 0
  345. #define TXT_ALIGNTEXTH_CENTER 1
  346. #define TXT_ALIGNTEXTH_RIGHT 2
  347. #define TXT_ALIGNTEXTV_TOP 0
  348. #define TXT_ALIGNTEXTV_CENTER 1
  349. #define TXT_ALIGNTEXTV_BOTTOM 2
  350. #define TXT_AUTOCASE_NONE 0
  351. #define TXT_AUTOCASE_UPPER 1
  352. #define TXT_AUTOCASE_LOWER 2
  353. #define TXT_AUTOCASE_PROPER 3
  354. #define TXT_AUTOCASE_PROPER_W_UPPER 4
  355. #define TXT_BORDERSTYLE_NO_BORDER 0
  356. #define TXT_BORDERSTYLE_SINGLE_LINE 1
  357. #define TXT_BORDERSTYLE_ROUNDED 2
  358. #define TXT_BORDERSTYLE_DASH 3
  359. #define TXT_BORDERSTYLE_DOT 4
  360. #define TXT_BORDERSTYLE_DASH_DOT 5
  361. #define TXT_BORDERSTYLE_DASH_DOT_DOT 6
  362. #define TXT_BUTTONSTYLE_NONE 0
  363. #define TXT_BUTTONSTYLE_SPIN 1
  364. #define TXT_BUTTONSTYLE_POP_UP 2
  365. #define TXT_BUTTONSTYLE_DROP_DOWN 3
  366. #define TXT_BUTTONSTYLE_SLIDE 4
  367. #define TXT_CARETINSERT_SINGLE 0
  368. #define TXT_CARETINSERT_DOUBLE 1
  369. #define TXT_CARETINSERT_BLOCK 2
  370. #define TXT_CARETINSERT_UNDERLINE 3
  371. #define TXT_CARETINSERT_TRIANGLE 4
  372. #define TXT_CARETOVERWRITE_SINGLE 0
  373. #define TXT_CARETOVERWRITE_DOUBLE 1
  374. #define TXT_CARETOVERWRITE_BLOCK 2
  375. #define TXT_CARETOVERWRITE_UNDERLINE 3
  376. #define TXT_CARETOVERWRITE_TRIANGLE 4
  377. #define TXT_CONTROLTYPE_NORMAL 0
  378. #define TXT_CONTROLTYPE_READ_ONLY 1
  379. #define TXT_CONTROLTYPE_STATIC 2
  380. #define TXT_INVALIDOPTION_SHOW_DATA 0
  381. #define TXT_INVALIDOPTION_HIDE_DATA 1
  382. #define TXT_INVALIDOPTION_CLEAR_DATA 2
  383. #define TXT_MOUSEPOINTER_DEFAULT 0
  384. #define TXT_MOUSEPOINTER_ARROW 1
  385. #define TXT_MOUSEPOINTER_CROSS 2
  386. #define TXT_MOUSEPOINTER_I_BEAM 3
  387. #define TXT_MOUSEPOINTER_ICON 4
  388. #define TXT_MOUSEPOINTER_SIZE 5
  389. #define TXT_MOUSEPOINTER_SIZE_NE_SW 6
  390. #define TXT_MOUSEPOINTER_SIZE_N_S 7
  391. #define TXT_MOUSEPOINTER_SIZE_NW_SE 8
  392. #define TXT_MOUSEPOINTER_SIZE_W_E 9
  393. #define TXT_MOUSEPOINTER_UP_ARROW 10
  394. #define TXT_MOUSEPOINTER_HOURGLASS 11
  395. #define TXT_MOUSEPOINTER_NO_DROP 12
  396. #define TXT_NOSPECIALKEYS_ALL_KEYS_ENABLED 0
  397. #define TXT_NOSPECIALKEYS_AWARE_KEYS_DISABLED 1
  398. #define TXT_NOSPECIALKEYS_EDIT_KEYS_DISABLED 2
  399. #define TXT_NOSPECIALKEYS_ALL_KEYS_DISABLED 3
  400. #define TXT_ONFOCUSALIGNH_DEFAULT 0
  401. #define TXT_ONFOCUSALIGNH_LEFT 1
  402. #define TXT_ONFOCUSALIGNH_CENTER 2
  403. #define TXT_ONFOCUSALIGNH_RIGHT 3
  404. #define TXT_ONFOCUSALIGNV_DEFAULT 0
  405. #define TXT_ONFOCUSALIGNV_TOP 1
  406. #define TXT_ONFOCUSALIGNV_CENTER 2
  407. #define TXT_ONFOCUSALIGNV_BOTTOM 3
  408. #define TXT_ONFOCUSPOSITION_END 0
  409. #define TXT_ONFOCUSPOSITION_BEGINNING 1
  410. #define TXT_ONFOCUSPOSITION_PREVIOUS 2
  411. #define TXT_ONFOCUSPOSITION_CARET 3
  412. #define TXT_THREEDINSIDESTYLE_NONE 0
  413. #define TXT_THREEDINSIDESTYLE_LOWERED 1
  414. #define TXT_THREEDINSIDESTYLE_RAISED 2
  415. #define TXT_THREEDOUTSIDESTYLE_NONE 0
  416. #define TXT_THREEDOUTSIDESTYLE_LOWERED 1
  417. #define TXT_THREEDOUTSIDESTYLE_RAISED 2
  418. #define TXT_THREEDTEXT_NONE 0
  419. #define TXT_THREEDTEXT_ETCHED 1
  420. #define TXT_THREEDTEXT_EMBOSSED 2
  421. #define TXT_THREEDTEXT_ETCHED_W_SHADING 3
  422. #define TXT_THREEDTEXT_EMBOSSED_W_SHADING 4
  423. #define TXT_USERENTRY_FORMATTED 0
  424. #define TXT_USERENTRY_FREE_FORMAT 1
  425.  
  426. // Class representing AwareMask10 control in AWARE.VBX file
  427.  
  428. class CAwareMask : public CVBControl
  429. {
  430.   public:
  431.  
  432. #ifdef fpMFC
  433.  
  434.     BOOL Create(DWORD dwStyle, const RECT& rect,
  435.                 CWnd* pParentWnd, UINT nID,
  436.                 CFile* pFile = NULL, BOOL bAutoDelete = FALSE)
  437.     {
  438.       return CVBControl::Create(
  439.                "AWARE.VBX;AwareMask10;",
  440.                dwStyle, rect,
  441.                pParentWnd, nID,
  442.                pFile, bAutoDelete
  443.              );
  444.     }
  445.  
  446. #elif fpOWL
  447.  
  448.     CAwareMask(TWindow* parent, int id,
  449.         const char far* title,
  450.         int x, int y, int w, int h,
  451.         long initLen = 0, void far* initData = 0,
  452.         TModule* module = 0)
  453.     : CVBControl(parent, id, "AWARE.VBX", "AwareMask10",
  454.           title, x, y, w, h, initLen, initData, module) {};
  455.  
  456.     CAwareMask(TWindow* parent, int resourceId, TModule* module = 0)
  457.     : CVBControl(parent, resourceId, module) {};
  458.  
  459. #endif
  460.  
  461.     CStringProperty About() {return CStringProperty(this,102);}
  462.     CEnumProperty AlignTextH() {return CEnumProperty(this,59);}
  463.     CEnumProperty AlignTextV() {return CEnumProperty(this,60);}
  464.     CBoolProperty AllowNull() {return CBoolProperty(this,61);}
  465.     CBoolProperty AllowOverflow() {return CBoolProperty(this,91);}
  466.     CBoolProperty AutoAdvance() {return CBoolProperty(this,63);}
  467.     CBoolProperty AutoBeep() {return CBoolProperty(this,64);}
  468.     CColorProperty BackColor() {return CColorProperty(this,2);}
  469.     CBoolProperty BestFit() {return CBoolProperty(this,92);}
  470.     CColorProperty BorderColor() {return CColorProperty(this,37);}
  471.     CColorProperty BorderGrayAreaColor() {return CColorProperty(this,103);}
  472.     CEnumProperty BorderStyle() {return CEnumProperty(this,36);}
  473.     CShortProperty BorderWidth() {return CShortProperty(this,38);}
  474.     CBoolProperty ButtonDisable() {return CBoolProperty(this,41);}
  475.     CBoolProperty ButtonHide() {return CBoolProperty(this,42);}
  476.     CShortProperty ButtonIncrement() {return CShortProperty(this,43);}
  477.     CShortProperty ButtonIndex() {return CShortProperty(this,44);}
  478.     CShortProperty ButtonMax() {return CShortProperty(this,46);}
  479.     CShortProperty ButtonMin() {return CShortProperty(this,45);}
  480.     CEnumProperty ButtonStyle() {return CEnumProperty(this,47);}
  481.     CLongProperty ButtonWidth() {return CLongProperty(this,48);}
  482.     CBoolProperty ButtonWrap() {return CBoolProperty(this,49);}
  483.     CEnumProperty CaretInsert() {return CEnumProperty(this,65);}
  484.     CEnumProperty CaretOverWrite() {return CEnumProperty(this,66);}
  485.     CLongProperty CharPositionLeft() {return CLongProperty(this,67);}
  486.     CLongProperty CharPositionRight() {return CLongProperty(this,68);}
  487.     CEnumProperty ClipMode() {return CEnumProperty(this,93);}
  488.     CEnumProperty ControlType() {return CEnumProperty(this,89);}
  489.     CLongProperty CurrentPosition() {return CLongProperty(this,69);}
  490.     CEnumProperty DataFormat() {return CEnumProperty(this,94);}
  491.     CColorProperty DropShadowColor() {return CColorProperty(this,52);}
  492.     CShortProperty DropShadowWidth() {return CShortProperty(this,53);}
  493.     CBoolProperty Enabled() {return CBoolProperty(this,19);}
  494.     CBoolProperty FontBold() {return CBoolProperty(this,10);}
  495.     CBoolProperty FontItalic() {return CBoolProperty(this,11);}
  496.     CStringProperty FontName() {return CStringProperty(this,9);}
  497.     CFloatProperty FontSize() {return CFloatProperty(this,14);}
  498.     CBoolProperty FontStrikethru() {return CBoolProperty(this,12);}
  499.     CBoolProperty FontUnderline() {return CBoolProperty(this,13);}
  500.     CColorProperty ForeColor() {return CColorProperty(this,3);}
  501.     CLongProperty Height() {return CLongProperty(this,7);}
  502.     CBoolProperty HideSelection() {return CBoolProperty(this,71);}
  503.     CShortProperty Index() {return CShortProperty(this,1);}
  504.     CColorProperty InvalidColor() {return CColorProperty(this,73);}
  505.     CEnumProperty InvalidOption() {return CEnumProperty(this,74);}
  506.     CBoolProperty IsNull() {return CBoolProperty(this,75);}
  507.     CBoolProperty IsValid() {return CBoolProperty(this,76);}
  508.     CLongProperty Left() {return CLongProperty(this,4);}
  509.     CShortProperty MarginBottom() {return CShortProperty(this,80);}
  510.     CShortProperty MarginLeft() {return CShortProperty(this,77);}
  511.     CShortProperty MarginRight() {return CShortProperty(this,79);}
  512.     CShortProperty MarginTop() {return CShortProperty(this,78);}
  513.     CStringProperty Mask() {return CStringProperty(this,95);}
  514.     CStringProperty MaskChar(int i) {return CStringProperty(this,96,i);}
  515.     CEnumProperty MousePointer() {return CEnumProperty(this,8);}
  516.     CStringProperty Name() {return CStringProperty(this,0);}
  517.     CEnumProperty NoSpecialKeys() {return CEnumProperty(this,62);}
  518.     CColorProperty NullColor() {return CColorProperty(this,81);}
  519.     CEnumProperty OnFocusAlignH() {return CEnumProperty(this,82);}
  520.     CEnumProperty OnFocusAlignV() {return CEnumProperty(this,83);}
  521.     CBoolProperty OnFocusInvert3D() {return CBoolProperty(this,50);}
  522.     CBoolProperty OnFocusNoSelect() {return CBoolProperty(this,84);}
  523.     CEnumProperty OnFocusPosition() {return CEnumProperty(this,85);}
  524.     CBoolProperty OnFocusShadow() {return CBoolProperty(this,51);}
  525.     CShortProperty Parent() {return CShortProperty(this,20);}
  526.     CStringProperty PromptChar() {return CStringProperty(this,97);}
  527.     CBoolProperty PromptInclude() {return CBoolProperty(this,98);}
  528.     CBoolProperty Redraw() {return CBoolProperty(this,101);}
  529.     CBoolProperty RequireFill() {return CBoolProperty(this,99);}
  530.     CLongProperty SelLength() {return CLongProperty(this,86);}
  531.     CLongProperty SelStart() {return CLongProperty(this,87);}
  532.     CStringProperty SelText() {return CStringProperty(this,88);}
  533.     CShortProperty TabIndex() {return CShortProperty(this,15);}
  534.     CShortProperty TabStop() {return CShortProperty(this,16);}
  535.     CStringProperty Tag() {return CStringProperty(this,21);}
  536.     CStringProperty Text() {return CStringProperty(this,90);}
  537.     CShortProperty ThreeDFrameWidth() {return CShortProperty(this,35);}
  538.     CColorProperty ThreeDInsideHighlightColor() {return CColorProperty(this,28);}
  539.     CColorProperty ThreeDInsideShadowColor() {return CColorProperty(this,29);}
  540.     CEnumProperty ThreeDInsideStyle() {return CEnumProperty(this,27);}
  541.     CShortProperty ThreeDInsideWidth() {return CShortProperty(this,30);}
  542.     CColorProperty ThreeDOutsideHighlightColor() {return CColorProperty(this,32);}
  543.     CColorProperty ThreeDOutsideShadowColor() {return CColorProperty(this,33);}
  544.     CEnumProperty ThreeDOutsideStyle() {return CEnumProperty(this,31);}
  545.     CShortProperty ThreeDOutsideWidth() {return CShortProperty(this,34);}
  546.     CEnumProperty ThreeDText() {return CEnumProperty(this,54);}
  547.     CColorProperty ThreeDTextHighlightColor() {return CColorProperty(this,55);}
  548.     CShortProperty ThreeDTextOffset() {return CShortProperty(this,57);}
  549.     CColorProperty ThreeDTextShadowColor() {return CColorProperty(this,56);}
  550.     CLongProperty Top() {return CLongProperty(this,5);}
  551.     CStringProperty UnFmtText() {return CStringProperty(this,100);}
  552.     CEnumProperty UserEntry() {return CEnumProperty(this,70);}
  553.     CBoolProperty Visible() {return CBoolProperty(this,22);}
  554.     CLongProperty Width() {return CLongProperty(this,6);}
  555.     CShortProperty hWnd() {return CShortProperty(this,72);}
  556.  
  557. };
  558.  
  559. #ifdef fpMFC
  560.  
  561. inline void AFXAPI
  562. DDX_VBControl(CDataExchange* pDX, int nIDC, CAwareMask*& rpAwareMask)
  563. {
  564.   CVBControl* pControl = (CVBControl*)rpAwareMask;
  565.   DDX_VBControl(pDX, nIDC, pControl);
  566.   rpAwareMask = (CAwareMask*)pControl;
  567. }
  568. #endif
  569.  
  570. // AwareMask event indices
  571. #define EVENT_MSK_ADVANCE 0
  572. #define EVENT_MSK_BUTTONHIT 1
  573. #define EVENT_MSK_CHANGE 2
  574. #define EVENT_MSK_CHANGEMODE 3
  575. #define EVENT_MSK_CLICK 4
  576. #define EVENT_MSK_DBLCLICK 5
  577. #define EVENT_MSK_GOTFOUCS 8
  578. #define EVENT_MSK_INVALIDDATA 9
  579. #define EVENT_MSK_KEYDOWN 10
  580. #define EVENT_MSK_KEYPRESS 11
  581. #define EVENT_MSK_KEYUP 12
  582. #define EVENT_MSK_LOSTFOCUS 13
  583. #define EVENT_MSK_MOUSEDOWN 14
  584. #define EVENT_MSK_MOUSEMOVE 15
  585. #define EVENT_MSK_MOUSEUP 16
  586. #define EVENT_MSK_USERERROR 17
  587.  
  588. // AwareMask property indices
  589. #define PROP_MSK_ABOUT 102
  590. #define PROP_MSK_ACTION 58
  591. #define PROP_MSK_ALIGNTEXTH 59
  592. #define PROP_MSK_ALIGNTEXTV 60
  593. #define PROP_MSK_ALLOWNULL 61
  594. #define PROP_MSK_ALLOWOVERFLOW 91
  595. #define PROP_MSK_AUTOADVANCE 63
  596. #define PROP_MSK_AUTOBEEP 64
  597. #define PROP_MSK_BACKCOLOR 2
  598. #define PROP_MSK_BESTFIT 92
  599. #define PROP_MSK_BORDERCOLOR 37
  600. #define PROP_MSK_BORDERGRAYAREACOLOR 103
  601. #define PROP_MSK_BORDERSTYLE 36
  602. #define PROP_MSK_BORDERWIDTH 38
  603. #define PROP_MSK_BUTTONDISABLE 41
  604. #define PROP_MSK_BUTTONHIDE 42
  605. #define PROP_MSK_BUTTONINCREMENT 43
  606. #define PROP_MSK_BUTTONINDEX 44
  607. #define PROP_MSK_BUTTONMAX 46
  608. #define PROP_MSK_BUTTONMIN 45
  609. #define PROP_MSK_BUTTONSTYLE 47
  610. #define PROP_MSK_BUTTONWIDTH 48
  611. #define PROP_MSK_BUTTONWRAP 49
  612. #define PROP_MSK_CARETINSERT 65
  613. #define PROP_MSK_CARETOVERWRITE 66
  614. #define PROP_MSK_CHARPOSITIONLEFT 67
  615. #define PROP_MSK_CHARPOSITIONRIGHT 68
  616. #define PROP_MSK_CLIPMODE 93
  617. #define PROP_MSK_CONTROLTYPE 89
  618. #define PROP_MSK_CURRENTPOSITION 69
  619. #define PROP_MSK_DATAFORMAT 94
  620. #define PROP_MSK_DROPSHADOWCOLOR 52
  621. #define PROP_MSK_DROPSHADOWWIDTH 53
  622. #define PROP_MSK_ENABLED 19
  623. #define PROP_MSK_FONTBOLD 10
  624. #define PROP_MSK_FONTITALIC 11
  625. #define PROP_MSK_FONTNAME 9
  626. #define PROP_MSK_FONTSIZE 14
  627. #define PROP_MSK_FONTSTRIKETHRU 12
  628. #define PROP_MSK_FONTUNDERLINE 13
  629. #define PROP_MSK_FORECOLOR 3
  630. #define PROP_MSK_HEIGHT 7
  631. #define PROP_MSK_HIDESELECTION 71
  632. #define PROP_MSK_INDEX 1
  633. #define PROP_MSK_INVALIDCOLOR 73
  634. #define PROP_MSK_INVALIDOPTION 74
  635. #define PROP_MSK_ISNULL 75
  636. #define PROP_MSK_ISVALID 76
  637. #define PROP_MSK_LEFT 4
  638. #define PROP_MSK_MARGINBOTTOM 80
  639. #define PROP_MSK_MARGINLEFT 77
  640. #define PROP_MSK_MARGINRIGHT 79
  641. #define PROP_MSK_MARGINTOP 78
  642. #define PROP_MSK_MASK 95
  643. #define PROP_MSK_MASKCHAR 96
  644. #define PROP_MSK_MOUSEPOINTER 8
  645. #define PROP_MSK_NAME 0
  646. #define PROP_MSK_NOSPECIALKEYS 62
  647. #define PROP_MSK_NULLCOLOR 81
  648. #define PROP_MSK_ONFOCUSALIGNH 82
  649. #define PROP_MSK_ONFOCUSALIGNV 83
  650. #define PROP_MSK_ONFOCUSINVERT3D 50
  651. #define PROP_MSK_ONFOCUSNOSELECT 84
  652. #define PROP_MSK_ONFOCUSPOSITION 85
  653. #define PROP_MSK_ONFOCUSSHADOW 51
  654. #define PROP_MSK_PARENT 20
  655. #define PROP_MSK_PROMPTCHAR 97
  656. #define PROP_MSK_PROMPTINCLUDE 98
  657. #define PROP_MSK_REDRAW 101
  658. #define PROP_MSK_REQUIREFILL 99
  659. #define PROP_MSK_SELLENGTH 86
  660. #define PROP_MSK_SELSTART 87
  661. #define PROP_MSK_SELTEXT 88
  662. #define PROP_MSK_TABINDEX 15
  663. #define PROP_MSK_TABSTOP 16
  664. #define PROP_MSK_TAG 21
  665. #define PROP_MSK_TEXT 90
  666. #define PROP_MSK_THREEDFRAMEWIDTH 35
  667. #define PROP_MSK_THREEDINSIDEHIGHLIGHTCOLOR 28
  668. #define PROP_MSK_THREEDINSIDESHADOWCOLOR 29
  669. #define PROP_MSK_THREEDINSIDESTYLE 27
  670. #define PROP_MSK_THREEDINSIDEWIDTH 30
  671. #define PROP_MSK_THREEDOUTSIDEHIGHLIGHTCOLOR 32
  672. #define PROP_MSK_THREEDOUTSIDESHADOWCOLOR 33
  673. #define PROP_MSK_THREEDOUTSIDESTYLE 31
  674. #define PROP_MSK_THREEDOUTSIDEWIDTH 34
  675. #define PROP_MSK_THREEDTEXT 54
  676. #define PROP_MSK_THREEDTEXTHIGHLIGHTCOLOR 55
  677. #define PROP_MSK_THREEDTEXTOFFSET 57
  678. #define PROP_MSK_THREEDTEXTSHADOWCOLOR 56
  679. #define PROP_MSK_TOP 5
  680. #define PROP_MSK_UNFMTTEXT 100
  681. #define PROP_MSK_USERENTRY 70
  682. #define PROP_MSK_VISIBLE 22
  683. #define PROP_MSK_WIDTH 6
  684. #define PROP_MSK_HWND 72
  685.  
  686. #ifdef fpMFC
  687.  
  688.  
  689. // AwareMask event macros
  690. #define MSK_ADVANCE_DIRECTION(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  691. #define MSK_ADVANCE_AUTOADVANCE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  692. #define MSK_BUTTONHIT_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  693. #define MSK_BUTTONHIT_NEWINDEX(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  694. #define MSK_CHANGEMODE_EDITMODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  695. #define MSK_CLICK_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  696. #define MSK_DBLCLICK_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  697. #define MSK_INVALIDDATA_NEXTWND(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  698. #define MSK_KEYDOWN_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,1)
  699. #define MSK_KEYDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  700. #define MSK_KEYPRESS_KEYASCII(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  701. #define MSK_KEYUP_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  702. #define MSK_KEYUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  703. #define MSK_MOUSEDOWN_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  704. #define MSK_MOUSEDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  705. #define MSK_MOUSEDOWN_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  706. #define MSK_MOUSEDOWN_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  707. #define MSK_MOUSEMOVE_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  708. #define MSK_MOUSEMOVE_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  709. #define MSK_MOUSEMOVE_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  710. #define MSK_MOUSEMOVE_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  711. #define MSK_MOUSEUP_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  712. #define MSK_MOUSEUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  713. #define MSK_MOUSEUP_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  714. #define MSK_MOUSEUP_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  715. #define MSK_USERERROR_ERRORCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  716. #define MSK_USERERROR_AUTOBEEP(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  717.  
  718. #elif fpOWL
  719.  
  720.  
  721. // AwareMask event macros
  722. #define MSK_ADVANCE_DIRECTION(event) VBX_EVENTARGNUM(event,int,0)
  723. #define MSK_ADVANCE_AUTOADVANCE(event) VBX_EVENTARGNUM(event,int,1)
  724. #define MSK_BUTTONHIT_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  725. #define MSK_BUTTONHIT_NEWINDEX(event) VBX_EVENTARGNUM(event,int,1)
  726. #define MSK_CHANGEMODE_EDITMODE(event) VBX_EVENTARGNUM(event,int,0)
  727. #define MSK_CLICK_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  728. #define MSK_DBLCLICK_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  729. #define MSK_INVALIDDATA_NEXTWND(event) VBX_EVENTARGNUM(event,int,0)
  730. #define MSK_KEYDOWN_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  731. #define MSK_KEYDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  732. #define MSK_KEYPRESS_KEYASCII(event) VBX_EVENTARGNUM(event,int,0)
  733. #define MSK_KEYUP_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  734. #define MSK_KEYUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  735. #define MSK_MOUSEDOWN_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  736. #define MSK_MOUSEDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  737. #define MSK_MOUSEDOWN_X(event) VBX_EVENTARGNUM(event,float,2)
  738. #define MSK_MOUSEDOWN_Y(event) VBX_EVENTARGNUM(event,float,3)
  739. #define MSK_MOUSEMOVE_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  740. #define MSK_MOUSEMOVE_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  741. #define MSK_MOUSEMOVE_X(event) VBX_EVENTARGNUM(event,float,2)
  742. #define MSK_MOUSEMOVE_Y(event) VBX_EVENTARGNUM(event,float,3)
  743. #define MSK_MOUSEUP_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  744. #define MSK_MOUSEUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  745. #define MSK_MOUSEUP_X(event) VBX_EVENTARGNUM(event,float,2)
  746. #define MSK_MOUSEUP_Y(event) VBX_EVENTARGNUM(event,float,3)
  747. #define MSK_USERERROR_ERRORCODE(event) VBX_EVENTARGNUM(event,int,0)
  748. #define MSK_USERERROR_AUTOBEEP(event) VBX_EVENTARGNUM(event,int,1)
  749.  
  750. #endif
  751.  
  752.  
  753. // AwareMask property values
  754. #define MSK_ACTION_COPY 0
  755. #define MSK_ACTION_CUT 1
  756. #define MSK_ACTION_PASTE 2
  757. #define MSK_ACTION_CLEAR 3
  758. #define MSK_ACTION_UNDO 4
  759. #define MSK_ACTION_SET_NULL 5
  760. #define MSK_ALIGNTEXTH_LEFT 0
  761. #define MSK_ALIGNTEXTH_CENTER 1
  762. #define MSK_ALIGNTEXTH_RIGHT 2
  763. #define MSK_ALIGNTEXTV_TOP 0
  764. #define MSK_ALIGNTEXTV_CENTER 1
  765. #define MSK_ALIGNTEXTV_BOTTOM 2
  766. #define MSK_BORDERSTYLE_NO_BORDER 0
  767. #define MSK_BORDERSTYLE_SINGLE_LINE 1
  768. #define MSK_BORDERSTYLE_ROUNDED 2
  769. #define MSK_BORDERSTYLE_DASH 3
  770. #define MSK_BORDERSTYLE_DOT 4
  771. #define MSK_BORDERSTYLE_DASH_DOT 5
  772. #define MSK_BORDERSTYLE_DASH_DOT_DOT 6
  773. #define MSK_BUTTONSTYLE_NONE 0
  774. #define MSK_BUTTONSTYLE_SPIN 1
  775. #define MSK_BUTTONSTYLE_POP_UP 2
  776. #define MSK_BUTTONSTYLE_DROP_DOWN 3
  777. #define MSK_BUTTONSTYLE_SLIDE 4
  778. #define MSK_CARETINSERT_SINGLE 0
  779. #define MSK_CARETINSERT_DOUBLE 1
  780. #define MSK_CARETINSERT_BLOCK 2
  781. #define MSK_CARETINSERT_UNDERLINE 3
  782. #define MSK_CARETINSERT_TRIANGLE 4
  783. #define MSK_CARETOVERWRITE_SINGLE 0
  784. #define MSK_CARETOVERWRITE_DOUBLE 1
  785. #define MSK_CARETOVERWRITE_BLOCK 2
  786. #define MSK_CARETOVERWRITE_UNDERLINE 3
  787. #define MSK_CARETOVERWRITE_TRIANGLE 4
  788. #define MSK_CLIPMODE_CLIP_DATA_AND_LITERALS 0
  789. #define MSK_CLIPMODE_CLIP_DATA_W_O_LITERALS 1
  790. #define MSK_CONTROLTYPE_NORMAL 0
  791. #define MSK_CONTROLTYPE_READ_ONLY 1
  792. #define MSK_CONTROLTYPE_STATIC 2
  793. #define MSK_DATAFORMAT_SAVE_DATA_AND_LITERALS 0
  794. #define MSK_DATAFORMAT_SAVE_DATA_W_O_LITERALS 1
  795. #define MSK_INVALIDOPTION_SHOW_DATA 0
  796. #define MSK_INVALIDOPTION_HIDE_DATA 1
  797. #define MSK_INVALIDOPTION_CLEAR_DATA 2
  798. #define MSK_MOUSEPOINTER_DEFAULT 0
  799. #define MSK_MOUSEPOINTER_ARROW 1
  800. #define MSK_MOUSEPOINTER_CROSS 2
  801. #define MSK_MOUSEPOINTER_I_BEAM 3
  802. #define MSK_MOUSEPOINTER_ICON 4
  803. #define MSK_MOUSEPOINTER_SIZE 5
  804. #define MSK_MOUSEPOINTER_SIZE_NE_SW 6
  805. #define MSK_MOUSEPOINTER_SIZE_N_S 7
  806. #define MSK_MOUSEPOINTER_SIZE_NW_SE 8
  807. #define MSK_MOUSEPOINTER_SIZE_W_E 9
  808. #define MSK_MOUSEPOINTER_UP_ARROW 10
  809. #define MSK_MOUSEPOINTER_HOURGLASS 11
  810. #define MSK_MOUSEPOINTER_NO_DROP 12
  811. #define MSK_NOSPECIALKEYS_ALL_KEYS_ENABLED 0
  812. #define MSK_NOSPECIALKEYS_AWARE_KEYS_DISABLED 1
  813. #define MSK_NOSPECIALKEYS_EDIT_KEYS_DISABLED 2
  814. #define MSK_NOSPECIALKEYS_ALL_KEYS_DISABLED 3
  815. #define MSK_ONFOCUSALIGNH_DEFAULT 0
  816. #define MSK_ONFOCUSALIGNH_LEFT 1
  817. #define MSK_ONFOCUSALIGNH_CENTER 2
  818. #define MSK_ONFOCUSALIGNH_RIGHT 3
  819. #define MSK_ONFOCUSALIGNV_DEFAULT 0
  820. #define MSK_ONFOCUSALIGNV_TOP 1
  821. #define MSK_ONFOCUSALIGNV_CENTER 2
  822. #define MSK_ONFOCUSALIGNV_BOTTOM 3
  823. #define MSK_ONFOCUSPOSITION_END 0
  824. #define MSK_ONFOCUSPOSITION_BEGINNING 1
  825. #define MSK_ONFOCUSPOSITION_PREVIOUS 2
  826. #define MSK_ONFOCUSPOSITION_CARET 3
  827. #define MSK_THREEDINSIDESTYLE_NONE 0
  828. #define MSK_THREEDINSIDESTYLE_LOWERED 1
  829. #define MSK_THREEDINSIDESTYLE_RAISED 2
  830. #define MSK_THREEDOUTSIDESTYLE_NONE 0
  831. #define MSK_THREEDOUTSIDESTYLE_LOWERED 1
  832. #define MSK_THREEDOUTSIDESTYLE_RAISED 2
  833. #define MSK_THREEDTEXT_NONE 0
  834. #define MSK_THREEDTEXT_ETCHED 1
  835. #define MSK_THREEDTEXT_EMBOSSED 2
  836. #define MSK_THREEDTEXT_ETCHED_W_SHADING 3
  837. #define MSK_THREEDTEXT_EMBOSSED_W_SHADING 4
  838. #define MSK_USERENTRY_FORMATTED 0
  839. #define MSK_USERENTRY_FREE_FORMAT 1
  840.  
  841. // Class representing AwareDouble10 control in AWARE.VBX file
  842.  
  843. class CAwareDouble : public CVBControl
  844. {
  845.   public:
  846.  
  847. #ifdef fpMFC
  848.  
  849.     BOOL Create(DWORD dwStyle, const RECT& rect,
  850.                 CWnd* pParentWnd, UINT nID,
  851.                 CFile* pFile = NULL, BOOL bAutoDelete = FALSE)
  852.     {
  853.       return CVBControl::Create(
  854.                "AWARE.VBX;AwareDouble10;",
  855.                dwStyle, rect,
  856.                pParentWnd, nID,
  857.                pFile, bAutoDelete
  858.              );
  859.     }
  860.  
  861. #elif fpOWL
  862.  
  863.     CAwareDouble(TWindow* parent, int id,
  864.         const char far* title,
  865.         int x, int y, int w, int h,
  866.         long initLen = 0, void far* initData = 0,
  867.         TModule* module = 0)
  868.     : CVBControl(parent, id, "AWARE.VBX", "AwareDouble10",
  869.           title, x, y, w, h, initLen, initData, module) {};
  870.  
  871.     CAwareDouble(TWindow* parent, int resourceId, TModule* module = 0)
  872.     : CVBControl(parent, resourceId, module) {};
  873.  
  874. #endif
  875.  
  876.     CStringProperty About() {return CStringProperty(this,107);}
  877.     CEnumProperty AlignTextH() {return CEnumProperty(this,60);}
  878.     CEnumProperty AlignTextV() {return CEnumProperty(this,61);}
  879.     CBoolProperty AllowNull() {return CBoolProperty(this,62);}
  880.     CBoolProperty AutoAdvance() {return CBoolProperty(this,64);}
  881.     CBoolProperty AutoBeep() {return CBoolProperty(this,65);}
  882.     CColorProperty BackColor() {return CColorProperty(this,2);}
  883.     CColorProperty BorderColor() {return CColorProperty(this,37);}
  884.     CColorProperty BorderGrayAreaColor() {return CColorProperty(this,108);}
  885.     CEnumProperty BorderStyle() {return CEnumProperty(this,36);}
  886.     CShortProperty BorderWidth() {return CShortProperty(this,38);}
  887.     CBoolProperty ButtonDefaultAction() {return CBoolProperty(this,50);}
  888.     CBoolProperty ButtonDisable() {return CBoolProperty(this,41);}
  889.     CBoolProperty ButtonHide() {return CBoolProperty(this,42);}
  890.     CShortProperty ButtonIncrement() {return CShortProperty(this,43);}
  891.     CShortProperty ButtonIndex() {return CShortProperty(this,44);}
  892.     CShortProperty ButtonMax() {return CShortProperty(this,46);}
  893.     CShortProperty ButtonMin() {return CShortProperty(this,45);}
  894.     CEnumProperty ButtonStyle() {return CEnumProperty(this,47);}
  895.     CLongProperty ButtonWidth() {return CLongProperty(this,48);}
  896.     CBoolProperty ButtonWrap() {return CBoolProperty(this,49);}
  897.     CEnumProperty CaretInsert() {return CEnumProperty(this,66);}
  898.     CEnumProperty CaretOverWrite() {return CEnumProperty(this,67);}
  899.     CLongProperty CharPositionLeft() {return CLongProperty(this,68);}
  900.     CLongProperty CharPositionRight() {return CLongProperty(this,69);}
  901.     CEnumProperty ControlType() {return CEnumProperty(this,90);}
  902.     CLongProperty CurrentPosition() {return CLongProperty(this,70);}
  903.     CShortProperty DecimalPlaces() {return CShortProperty(this,92);}
  904.     CStringProperty DecimalPoint() {return CStringProperty(this,93);}
  905.     CColorProperty DropShadowColor() {return CColorProperty(this,53);}
  906.     CShortProperty DropShadowWidth() {return CShortProperty(this,54);}
  907.     CBoolProperty Enabled() {return CBoolProperty(this,19);}
  908.     CBoolProperty FixedPoint() {return CBoolProperty(this,94);}
  909.     CBoolProperty FontBold() {return CBoolProperty(this,10);}
  910.     CBoolProperty FontItalic() {return CBoolProperty(this,11);}
  911.     CStringProperty FontName() {return CStringProperty(this,9);}
  912.     CFloatProperty FontSize() {return CFloatProperty(this,14);}
  913.     CBoolProperty FontStrikethru() {return CBoolProperty(this,12);}
  914.     CBoolProperty FontUnderline() {return CBoolProperty(this,13);}
  915.     CColorProperty ForeColor() {return CColorProperty(this,3);}
  916.     CLongProperty Height() {return CLongProperty(this,7);}
  917.     CBoolProperty HideSelection() {return CBoolProperty(this,72);}
  918.     CFloatProperty IncDec() {return CFloatProperty(this,105);}
  919.     CFloatProperty IncInt() {return CFloatProperty(this,104);}
  920.     CShortProperty Index() {return CShortProperty(this,1);}
  921.     CColorProperty InvalidColor() {return CColorProperty(this,74);}
  922.     CEnumProperty InvalidOption() {return CEnumProperty(this,75);}
  923.     CBoolProperty IsNull() {return CBoolProperty(this,76);}
  924.     CBoolProperty IsValid() {return CBoolProperty(this,77);}
  925.     CEnumProperty LeadZero() {return CEnumProperty(this,95);}
  926.     CLongProperty Left() {return CLongProperty(this,4);}
  927.     CShortProperty MarginBottom() {return CShortProperty(this,81);}
  928.     CShortProperty MarginLeft() {return CShortProperty(this,78);}
  929.     CShortProperty MarginRight() {return CShortProperty(this,80);}
  930.     CShortProperty MarginTop() {return CShortProperty(this,79);}
  931.     CStringProperty MaxValue() {return CStringProperty(this,96);}
  932.     CStringProperty MinValue() {return CStringProperty(this,97);}
  933.     CEnumProperty MousePointer() {return CEnumProperty(this,8);}
  934.     CStringProperty Name() {return CStringProperty(this,0);}
  935.     CEnumProperty NegFormat() {return CEnumProperty(this,98);}
  936.     CBoolProperty NegToggle() {return CBoolProperty(this,99);}
  937.     CEnumProperty NoSpecialKeys() {return CEnumProperty(this,63);}
  938.     CColorProperty NullColor() {return CColorProperty(this,82);}
  939.     CEnumProperty OnFocusAlignH() {return CEnumProperty(this,83);}
  940.     CEnumProperty OnFocusAlignV() {return CEnumProperty(this,84);}
  941.     CBoolProperty OnFocusInvert3D() {return CBoolProperty(this,51);}
  942.     CBoolProperty OnFocusNoSelect() {return CBoolProperty(this,85);}
  943.     CEnumProperty OnFocusPosition() {return CEnumProperty(this,86);}
  944.     CBoolProperty OnFocusShadow() {return CBoolProperty(this,52);}
  945.     CShortProperty Parent() {return CShortProperty(this,20);}
  946.     CBoolProperty Redraw() {return CBoolProperty(this,106);}
  947.     CLongProperty SelLength() {return CLongProperty(this,87);}
  948.     CLongProperty SelStart() {return CLongProperty(this,88);}
  949.     CStringProperty SelText() {return CStringProperty(this,89);}
  950.     CStringProperty Separator() {return CStringProperty(this,100);}
  951.     CShortProperty TabIndex() {return CShortProperty(this,15);}
  952.     CShortProperty TabStop() {return CShortProperty(this,16);}
  953.     CStringProperty Tag() {return CStringProperty(this,21);}
  954.     CStringProperty Text() {return CStringProperty(this,91);}
  955.     CShortProperty ThreeDFrameWidth() {return CShortProperty(this,35);}
  956.     CColorProperty ThreeDInsideHighlightColor() {return CColorProperty(this,28);}
  957.     CColorProperty ThreeDInsideShadowColor() {return CColorProperty(this,29);}
  958.     CEnumProperty ThreeDInsideStyle() {return CEnumProperty(this,27);}
  959.     CShortProperty ThreeDInsideWidth() {return CShortProperty(this,30);}
  960.     CColorProperty ThreeDOutsideHighlightColor() {return CColorProperty(this,32);}
  961.     CColorProperty ThreeDOutsideShadowColor() {return CColorProperty(this,33);}
  962.     CEnumProperty ThreeDOutsideStyle() {return CEnumProperty(this,31);}
  963.     CShortProperty ThreeDOutsideWidth() {return CShortProperty(this,34);}
  964.     CEnumProperty ThreeDText() {return CEnumProperty(this,55);}
  965.     CColorProperty ThreeDTextHighlightColor() {return CColorProperty(this,56);}
  966.     CShortProperty ThreeDTextOffset() {return CShortProperty(this,58);}
  967.     CColorProperty ThreeDTextShadowColor() {return CColorProperty(this,57);}
  968.     CLongProperty Top() {return CLongProperty(this,5);}
  969.     CStringProperty UnFmtText() {return CStringProperty(this,101);}
  970.     CBoolProperty UseSeparator() {return CBoolProperty(this,102);}
  971.     CEnumProperty UserEntry() {return CEnumProperty(this,71);}
  972.     CStringProperty Value() {return CStringProperty(this,103);}
  973.     CBoolProperty Visible() {return CBoolProperty(this,22);}
  974.     CLongProperty Width() {return CLongProperty(this,6);}
  975.     CShortProperty hWnd() {return CShortProperty(this,73);}
  976.  
  977. };
  978.  
  979. #ifdef fpMFC
  980.  
  981. inline void AFXAPI
  982. DDX_VBControl(CDataExchange* pDX, int nIDC, CAwareDouble*& rpAwareDouble)
  983. {
  984.   CVBControl* pControl = (CVBControl*)rpAwareDouble;
  985.   DDX_VBControl(pDX, nIDC, pControl);
  986.   rpAwareDouble = (CAwareDouble*)pControl;
  987. }
  988. #endif
  989.  
  990. // AwareDouble event indices
  991. #define EVENT_DBL_ADVANCE 0
  992. #define EVENT_DBL_BUTTONHIT 1
  993. #define EVENT_DBL_CHANGE 2
  994. #define EVENT_DBL_CHANGEMODE 3
  995. #define EVENT_DBL_CLICK 4
  996. #define EVENT_DBL_DBLCLICK 5
  997. #define EVENT_DBL_GOTFOUCS 8
  998. #define EVENT_DBL_INVALIDDATA 9
  999. #define EVENT_DBL_KEYDOWN 10
  1000. #define EVENT_DBL_KEYPRESS 11
  1001. #define EVENT_DBL_KEYUP 12
  1002. #define EVENT_DBL_LOSTFOCUS 13
  1003. #define EVENT_DBL_MOUSEDOWN 14
  1004. #define EVENT_DBL_MOUSEMOVE 15
  1005. #define EVENT_DBL_MOUSEUP 16
  1006. #define EVENT_DBL_USERERROR 17
  1007.  
  1008. // AwareDouble property indices
  1009. #define PROP_DBL_ABOUT 107
  1010. #define PROP_DBL_ACTION 59
  1011. #define PROP_DBL_ALIGNTEXTH 60
  1012. #define PROP_DBL_ALIGNTEXTV 61
  1013. #define PROP_DBL_ALLOWNULL 62
  1014. #define PROP_DBL_AUTOADVANCE 64
  1015. #define PROP_DBL_AUTOBEEP 65
  1016. #define PROP_DBL_BACKCOLOR 2
  1017. #define PROP_DBL_BORDERCOLOR 37
  1018. #define PROP_DBL_BORDERGRAYAREACOLOR 108
  1019. #define PROP_DBL_BORDERSTYLE 36
  1020. #define PROP_DBL_BORDERWIDTH 38
  1021. #define PROP_DBL_BUTTONDEFAULTACTION 50
  1022. #define PROP_DBL_BUTTONDISABLE 41
  1023. #define PROP_DBL_BUTTONHIDE 42
  1024. #define PROP_DBL_BUTTONINCREMENT 43
  1025. #define PROP_DBL_BUTTONINDEX 44
  1026. #define PROP_DBL_BUTTONMAX 46
  1027. #define PROP_DBL_BUTTONMIN 45
  1028. #define PROP_DBL_BUTTONSTYLE 47
  1029. #define PROP_DBL_BUTTONWIDTH 48
  1030. #define PROP_DBL_BUTTONWRAP 49
  1031. #define PROP_DBL_CARETINSERT 66
  1032. #define PROP_DBL_CARETOVERWRITE 67
  1033. #define PROP_DBL_CHARPOSITIONLEFT 68
  1034. #define PROP_DBL_CHARPOSITIONRIGHT 69
  1035. #define PROP_DBL_CONTROLTYPE 90
  1036. #define PROP_DBL_CURRENTPOSITION 70
  1037. #define PROP_DBL_DECIMALPLACES 92
  1038. #define PROP_DBL_DECIMALPOINT 93
  1039. #define PROP_DBL_DROPSHADOWCOLOR 53
  1040. #define PROP_DBL_DROPSHADOWWIDTH 54
  1041. #define PROP_DBL_ENABLED 19
  1042. #define PROP_DBL_FIXEDPOINT 94
  1043. #define PROP_DBL_FONTBOLD 10
  1044. #define PROP_DBL_FONTITALIC 11
  1045. #define PROP_DBL_FONTNAME 9
  1046. #define PROP_DBL_FONTSIZE 14
  1047. #define PROP_DBL_FONTSTRIKETHRU 12
  1048. #define PROP_DBL_FONTUNDERLINE 13
  1049. #define PROP_DBL_FORECOLOR 3
  1050. #define PROP_DBL_HEIGHT 7
  1051. #define PROP_DBL_HIDESELECTION 72
  1052. #define PROP_DBL_INCDEC 105
  1053. #define PROP_DBL_INCINT 104
  1054. #define PROP_DBL_INDEX 1
  1055. #define PROP_DBL_INVALIDCOLOR 74
  1056. #define PROP_DBL_INVALIDOPTION 75
  1057. #define PROP_DBL_ISNULL 76
  1058. #define PROP_DBL_ISVALID 77
  1059. #define PROP_DBL_LEADZERO 95
  1060. #define PROP_DBL_LEFT 4
  1061. #define PROP_DBL_MARGINBOTTOM 81
  1062. #define PROP_DBL_MARGINLEFT 78
  1063. #define PROP_DBL_MARGINRIGHT 80
  1064. #define PROP_DBL_MARGINTOP 79
  1065. #define PROP_DBL_MAXVALUE 96
  1066. #define PROP_DBL_MINVALUE 97
  1067. #define PROP_DBL_MOUSEPOINTER 8
  1068. #define PROP_DBL_NAME 0
  1069. #define PROP_DBL_NEGFORMAT 98
  1070. #define PROP_DBL_NEGTOGGLE 99
  1071. #define PROP_DBL_NOSPECIALKEYS 63
  1072. #define PROP_DBL_NULLCOLOR 82
  1073. #define PROP_DBL_ONFOCUSALIGNH 83
  1074. #define PROP_DBL_ONFOCUSALIGNV 84
  1075. #define PROP_DBL_ONFOCUSINVERT3D 51
  1076. #define PROP_DBL_ONFOCUSNOSELECT 85
  1077. #define PROP_DBL_ONFOCUSPOSITION 86
  1078. #define PROP_DBL_ONFOCUSSHADOW 52
  1079. #define PROP_DBL_PARENT 20
  1080. #define PROP_DBL_REDRAW 106
  1081. #define PROP_DBL_SELLENGTH 87
  1082. #define PROP_DBL_SELSTART 88
  1083. #define PROP_DBL_SELTEXT 89
  1084. #define PROP_DBL_SEPARATOR 100
  1085. #define PROP_DBL_TABINDEX 15
  1086. #define PROP_DBL_TABSTOP 16
  1087. #define PROP_DBL_TAG 21
  1088. #define PROP_DBL_TEXT 91
  1089. #define PROP_DBL_THREEDFRAMEWIDTH 35
  1090. #define PROP_DBL_THREEDINSIDEHIGHLIGHTCOLOR 28
  1091. #define PROP_DBL_THREEDINSIDESHADOWCOLOR 29
  1092. #define PROP_DBL_THREEDINSIDESTYLE 27
  1093. #define PROP_DBL_THREEDINSIDEWIDTH 30
  1094. #define PROP_DBL_THREEDOUTSIDEHIGHLIGHTCOLOR 32
  1095. #define PROP_DBL_THREEDOUTSIDESHADOWCOLOR 33
  1096. #define PROP_DBL_THREEDOUTSIDESTYLE 31
  1097. #define PROP_DBL_THREEDOUTSIDEWIDTH 34
  1098. #define PROP_DBL_THREEDTEXT 55
  1099. #define PROP_DBL_THREEDTEXTHIGHLIGHTCOLOR 56
  1100. #define PROP_DBL_THREEDTEXTOFFSET 58
  1101. #define PROP_DBL_THREEDTEXTSHADOWCOLOR 57
  1102. #define PROP_DBL_TOP 5
  1103. #define PROP_DBL_UNFMTTEXT 101
  1104. #define PROP_DBL_USESEPARATOR 102
  1105. #define PROP_DBL_USERENTRY 71
  1106. #define PROP_DBL_VALUE 103
  1107. #define PROP_DBL_VISIBLE 22
  1108. #define PROP_DBL_WIDTH 6
  1109. #define PROP_DBL_HWND 73
  1110.  
  1111. #ifdef fpMFC
  1112.  
  1113.  
  1114. // AwareDouble event macros
  1115. #define DBL_ADVANCE_DIRECTION(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  1116. #define DBL_ADVANCE_AUTOADVANCE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1117. #define DBL_BUTTONHIT_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  1118. #define DBL_BUTTONHIT_NEWINDEX(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1119. #define DBL_CHANGEMODE_EDITMODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1120. #define DBL_CLICK_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1121. #define DBL_DBLCLICK_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1122. #define DBL_INVALIDDATA_NEXTWND(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1123. #define DBL_KEYDOWN_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,1)
  1124. #define DBL_KEYDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  1125. #define DBL_KEYPRESS_KEYASCII(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  1126. #define DBL_KEYUP_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  1127. #define DBL_KEYUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1128. #define DBL_MOUSEDOWN_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  1129. #define DBL_MOUSEDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  1130. #define DBL_MOUSEDOWN_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  1131. #define DBL_MOUSEDOWN_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1132. #define DBL_MOUSEMOVE_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  1133. #define DBL_MOUSEMOVE_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  1134. #define DBL_MOUSEMOVE_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  1135. #define DBL_MOUSEMOVE_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1136. #define DBL_MOUSEUP_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  1137. #define DBL_MOUSEUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  1138. #define DBL_MOUSEUP_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  1139. #define DBL_MOUSEUP_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1140. #define DBL_USERERROR_ERRORCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  1141. #define DBL_USERERROR_AUTOBEEP(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1142.  
  1143. #elif fpOWL
  1144.  
  1145.  
  1146. // AwareDouble event macros
  1147. #define DBL_ADVANCE_DIRECTION(event) VBX_EVENTARGNUM(event,int,0)
  1148. #define DBL_ADVANCE_AUTOADVANCE(event) VBX_EVENTARGNUM(event,int,1)
  1149. #define DBL_BUTTONHIT_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  1150. #define DBL_BUTTONHIT_NEWINDEX(event) VBX_EVENTARGNUM(event,int,1)
  1151. #define DBL_CHANGEMODE_EDITMODE(event) VBX_EVENTARGNUM(event,int,0)
  1152. #define DBL_CLICK_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  1153. #define DBL_DBLCLICK_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  1154. #define DBL_INVALIDDATA_NEXTWND(event) VBX_EVENTARGNUM(event,int,0)
  1155. #define DBL_KEYDOWN_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  1156. #define DBL_KEYDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  1157. #define DBL_KEYPRESS_KEYASCII(event) VBX_EVENTARGNUM(event,int,0)
  1158. #define DBL_KEYUP_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  1159. #define DBL_KEYUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  1160. #define DBL_MOUSEDOWN_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  1161. #define DBL_MOUSEDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  1162. #define DBL_MOUSEDOWN_X(event) VBX_EVENTARGNUM(event,float,2)
  1163. #define DBL_MOUSEDOWN_Y(event) VBX_EVENTARGNUM(event,float,3)
  1164. #define DBL_MOUSEMOVE_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  1165. #define DBL_MOUSEMOVE_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  1166. #define DBL_MOUSEMOVE_X(event) VBX_EVENTARGNUM(event,float,2)
  1167. #define DBL_MOUSEMOVE_Y(event) VBX_EVENTARGNUM(event,float,3)
  1168. #define DBL_MOUSEUP_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  1169. #define DBL_MOUSEUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  1170. #define DBL_MOUSEUP_X(event) VBX_EVENTARGNUM(event,float,2)
  1171. #define DBL_MOUSEUP_Y(event) VBX_EVENTARGNUM(event,float,3)
  1172. #define DBL_USERERROR_ERRORCODE(event) VBX_EVENTARGNUM(event,int,0)
  1173. #define DBL_USERERROR_AUTOBEEP(event) VBX_EVENTARGNUM(event,int,1)
  1174.  
  1175. #endif
  1176.  
  1177.  
  1178. // AwareDouble property values
  1179. #define DBL_ACTION_COPY 0
  1180. #define DBL_ACTION_CUT 1
  1181. #define DBL_ACTION_PASTE 2
  1182. #define DBL_ACTION_CLEAR 3
  1183. #define DBL_ACTION_UNDO 4
  1184. #define DBL_ACTION_SET_NULL 5
  1185. #define DBL_ALIGNTEXTH_LEFT 0
  1186. #define DBL_ALIGNTEXTH_CENTER 1
  1187. #define DBL_ALIGNTEXTH_RIGHT 2
  1188. #define DBL_ALIGNTEXTV_TOP 0
  1189. #define DBL_ALIGNTEXTV_CENTER 1
  1190. #define DBL_ALIGNTEXTV_BOTTOM 2
  1191. #define DBL_BORDERSTYLE_NO_BORDER 0
  1192. #define DBL_BORDERSTYLE_SINGLE_LINE 1
  1193. #define DBL_BORDERSTYLE_ROUNDED 2
  1194. #define DBL_BORDERSTYLE_DASH 3
  1195. #define DBL_BORDERSTYLE_DOT 4
  1196. #define DBL_BORDERSTYLE_DASH_DOT 5
  1197. #define DBL_BORDERSTYLE_DASH_DOT_DOT 6
  1198. #define DBL_BUTTONSTYLE_NONE 0
  1199. #define DBL_BUTTONSTYLE_SPIN 1
  1200. #define DBL_BUTTONSTYLE_POP_UP 2
  1201. #define DBL_BUTTONSTYLE_DROP_DOWN 3
  1202. #define DBL_BUTTONSTYLE_SLIDE 4
  1203. #define DBL_CARETINSERT_SINGLE 0
  1204. #define DBL_CARETINSERT_DOUBLE 1
  1205. #define DBL_CARETINSERT_BLOCK 2
  1206. #define DBL_CARETINSERT_UNDERLINE 3
  1207. #define DBL_CARETINSERT_TRIANGLE 4
  1208. #define DBL_CARETOVERWRITE_SINGLE 0
  1209. #define DBL_CARETOVERWRITE_DOUBLE 1
  1210. #define DBL_CARETOVERWRITE_BLOCK 2
  1211. #define DBL_CARETOVERWRITE_UNDERLINE 3
  1212. #define DBL_CARETOVERWRITE_TRIANGLE 4
  1213. #define DBL_CONTROLTYPE_NORMAL 0
  1214. #define DBL_CONTROLTYPE_READ_ONLY 1
  1215. #define DBL_CONTROLTYPE_STATIC 2
  1216. #define DBL_INVALIDOPTION_SHOW_DATA 0
  1217. #define DBL_INVALIDOPTION_HIDE_DATA 1
  1218. #define DBL_INVALIDOPTION_CLEAR_DATA 2
  1219. #define DBL_LEADZERO_INTL 0
  1220. #define DBL_LEADZERO_NO_LEADING_ZERO 1
  1221. #define DBL_LEADZERO_LEADING_ZERO 2
  1222. #define DBL_MOUSEPOINTER_DEFAULT 0
  1223. #define DBL_MOUSEPOINTER_ARROW 1
  1224. #define DBL_MOUSEPOINTER_CROSS 2
  1225. #define DBL_MOUSEPOINTER_I_BEAM 3
  1226. #define DBL_MOUSEPOINTER_ICON 4
  1227. #define DBL_MOUSEPOINTER_SIZE 5
  1228. #define DBL_MOUSEPOINTER_SIZE_NE_SW 6
  1229. #define DBL_MOUSEPOINTER_SIZE_N_S 7
  1230. #define DBL_MOUSEPOINTER_SIZE_NW_SE 8
  1231. #define DBL_MOUSEPOINTER_SIZE_W_E 9
  1232. #define DBL_MOUSEPOINTER_UP_ARROW 10
  1233. #define DBL_MOUSEPOINTER_HOURGLASS 11
  1234. #define DBL_MOUSEPOINTER_NO_DROP 12
  1235. #define DBL_NEGFORMAT_LFT_1_RGT 0
  1236. #define DBL_NEGFORMAT_NEG_1 1
  1237. #define DBL_NEGFORMAT_1_NEG 2
  1238. #define DBL_NOSPECIALKEYS_ALL_KEYS_ENABLED 0
  1239. #define DBL_NOSPECIALKEYS_AWARE_KEYS_DISABLED 1
  1240. #define DBL_NOSPECIALKEYS_EDIT_KEYS_DISABLED 2
  1241. #define DBL_NOSPECIALKEYS_ALL_KEYS_DISABLED 3
  1242. #define DBL_ONFOCUSALIGNH_DEFAULT 0
  1243. #define DBL_ONFOCUSALIGNH_LEFT 1
  1244. #define DBL_ONFOCUSALIGNH_CENTER 2
  1245. #define DBL_ONFOCUSALIGNH_RIGHT 3
  1246. #define DBL_ONFOCUSALIGNV_DEFAULT 0
  1247. #define DBL_ONFOCUSALIGNV_TOP 1
  1248. #define DBL_ONFOCUSALIGNV_CENTER 2
  1249. #define DBL_ONFOCUSALIGNV_BOTTOM 3
  1250. #define DBL_ONFOCUSPOSITION_END 0
  1251. #define DBL_ONFOCUSPOSITION_BEGINNING 1
  1252. #define DBL_ONFOCUSPOSITION_PREVIOUS 2
  1253. #define DBL_ONFOCUSPOSITION_CARET 3
  1254. #define DBL_THREEDINSIDESTYLE_NONE 0
  1255. #define DBL_THREEDINSIDESTYLE_LOWERED 1
  1256. #define DBL_THREEDINSIDESTYLE_RAISED 2
  1257. #define DBL_THREEDOUTSIDESTYLE_NONE 0
  1258. #define DBL_THREEDOUTSIDESTYLE_LOWERED 1
  1259. #define DBL_THREEDOUTSIDESTYLE_RAISED 2
  1260. #define DBL_THREEDTEXT_NONE 0
  1261. #define DBL_THREEDTEXT_ETCHED 1
  1262. #define DBL_THREEDTEXT_EMBOSSED 2
  1263. #define DBL_THREEDTEXT_ETCHED_W_SHADING 3
  1264. #define DBL_THREEDTEXT_EMBOSSED_W_SHADING 4
  1265. #define DBL_USERENTRY_FORMATTED 0
  1266. #define DBL_USERENTRY_FREE_FORMAT 1
  1267. #define DBL_USERENTRY_FIXED_RIGHT 2
  1268.  
  1269. // Class representing AwareLong10 control in AWARE.VBX file
  1270.  
  1271. class CAwareLong : public CVBControl
  1272. {
  1273.   public:
  1274.  
  1275. #ifdef fpMFC
  1276.  
  1277.     BOOL Create(DWORD dwStyle, const RECT& rect,
  1278.                 CWnd* pParentWnd, UINT nID,
  1279.                 CFile* pFile = NULL, BOOL bAutoDelete = FALSE)
  1280.     {
  1281.       return CVBControl::Create(
  1282.                "AWARE.VBX;AwareLong10;",
  1283.                dwStyle, rect,
  1284.                pParentWnd, nID,
  1285.                pFile, bAutoDelete
  1286.              );
  1287.     }
  1288.  
  1289. #elif fpOWL
  1290.  
  1291.     CAwareLong(TWindow* parent, int id,
  1292.         const char far* title,
  1293.         int x, int y, int w, int h,
  1294.         long initLen = 0, void far* initData = 0,
  1295.         TModule* module = 0)
  1296.     : CVBControl(parent, id, "AWARE.VBX", "AwareLong10",
  1297.           title, x, y, w, h, initLen, initData, module) {};
  1298.  
  1299.     CAwareLong(TWindow* parent, int resourceId, TModule* module = 0)
  1300.     : CVBControl(parent, resourceId, module) {};
  1301.  
  1302. #endif
  1303.  
  1304.     CStringProperty About() {return CStringProperty(this,102);}
  1305.     CEnumProperty AlignTextH() {return CEnumProperty(this,60);}
  1306.     CEnumProperty AlignTextV() {return CEnumProperty(this,61);}
  1307.     CBoolProperty AllowNull() {return CBoolProperty(this,62);}
  1308.     CBoolProperty AutoAdvance() {return CBoolProperty(this,64);}
  1309.     CBoolProperty AutoBeep() {return CBoolProperty(this,65);}
  1310.     CColorProperty BackColor() {return CColorProperty(this,2);}
  1311.     CColorProperty BorderColor() {return CColorProperty(this,37);}
  1312.     CColorProperty BorderGrayAreaColor() {return CColorProperty(this,103);}
  1313.     CEnumProperty BorderStyle() {return CEnumProperty(this,36);}
  1314.     CShortProperty BorderWidth() {return CShortProperty(this,38);}
  1315.     CBoolProperty ButtonDefaultAction() {return CBoolProperty(this,50);}
  1316.     CBoolProperty ButtonDisable() {return CBoolProperty(this,41);}
  1317.     CBoolProperty ButtonHide() {return CBoolProperty(this,42);}
  1318.     CShortProperty ButtonIncrement() {return CShortProperty(this,43);}
  1319.     CShortProperty ButtonIndex() {return CShortProperty(this,44);}
  1320.     CShortProperty ButtonMax() {return CShortProperty(this,46);}
  1321.     CShortProperty ButtonMin() {return CShortProperty(this,45);}
  1322.     CEnumProperty ButtonStyle() {return CEnumProperty(this,47);}
  1323.     CLongProperty ButtonWidth() {return CLongProperty(this,48);}
  1324.     CBoolProperty ButtonWrap() {return CBoolProperty(this,49);}
  1325.     CEnumProperty CaretInsert() {return CEnumProperty(this,66);}
  1326.     CEnumProperty CaretOverWrite() {return CEnumProperty(this,67);}
  1327.     CLongProperty CharPositionLeft() {return CLongProperty(this,68);}
  1328.     CLongProperty CharPositionRight() {return CLongProperty(this,69);}
  1329.     CEnumProperty ControlType() {return CEnumProperty(this,90);}
  1330.     CLongProperty CurrentPosition() {return CLongProperty(this,70);}
  1331.     CColorProperty DropShadowColor() {return CColorProperty(this,53);}
  1332.     CShortProperty DropShadowWidth() {return CShortProperty(this,54);}
  1333.     CBoolProperty Enabled() {return CBoolProperty(this,19);}
  1334.     CBoolProperty FontBold() {return CBoolProperty(this,10);}
  1335.     CBoolProperty FontItalic() {return CBoolProperty(this,11);}
  1336.     CStringProperty FontName() {return CStringProperty(this,9);}
  1337.     CFloatProperty FontSize() {return CFloatProperty(this,14);}
  1338.     CBoolProperty FontStrikethru() {return CBoolProperty(this,12);}
  1339.     CBoolProperty FontUnderline() {return CBoolProperty(this,13);}
  1340.     CColorProperty ForeColor() {return CColorProperty(this,3);}
  1341.     CLongProperty Height() {return CLongProperty(this,7);}
  1342.     CBoolProperty HideSelection() {return CBoolProperty(this,72);}
  1343.     CFloatProperty IncInt() {return CFloatProperty(this,100);}
  1344.     CShortProperty Index() {return CShortProperty(this,1);}
  1345.     CColorProperty InvalidColor() {return CColorProperty(this,74);}
  1346.     CEnumProperty InvalidOption() {return CEnumProperty(this,75);}
  1347.     CBoolProperty IsNull() {return CBoolProperty(this,76);}
  1348.     CBoolProperty IsValid() {return CBoolProperty(this,77);}
  1349.     CLongProperty Left() {return CLongProperty(this,4);}
  1350.     CShortProperty MarginBottom() {return CShortProperty(this,81);}
  1351.     CShortProperty MarginLeft() {return CShortProperty(this,78);}
  1352.     CShortProperty MarginRight() {return CShortProperty(this,80);}
  1353.     CShortProperty MarginTop() {return CShortProperty(this,79);}
  1354.     CStringProperty MaxValue() {return CStringProperty(this,92);}
  1355.     CStringProperty MinValue() {return CStringProperty(this,93);}
  1356.     CEnumProperty MousePointer() {return CEnumProperty(this,8);}
  1357.     CStringProperty Name() {return CStringProperty(this,0);}
  1358.     CEnumProperty NegFormat() {return CEnumProperty(this,94);}
  1359.     CBoolProperty NegToggle() {return CBoolProperty(this,95);}
  1360.     CEnumProperty NoSpecialKeys() {return CEnumProperty(this,63);}
  1361.     CColorProperty NullColor() {return CColorProperty(this,82);}
  1362.     CEnumProperty OnFocusAlignH() {return CEnumProperty(this,83);}
  1363.     CEnumProperty OnFocusAlignV() {return CEnumProperty(this,84);}
  1364.     CBoolProperty OnFocusInvert3D() {return CBoolProperty(this,51);}
  1365.     CBoolProperty OnFocusNoSelect() {return CBoolProperty(this,85);}
  1366.     CEnumProperty OnFocusPosition() {return CEnumProperty(this,86);}
  1367.     CBoolProperty OnFocusShadow() {return CBoolProperty(this,52);}
  1368.     CShortProperty Parent() {return CShortProperty(this,20);}
  1369.     CBoolProperty Redraw() {return CBoolProperty(this,101);}
  1370.     CLongProperty SelLength() {return CLongProperty(this,87);}
  1371.     CLongProperty SelStart() {return CLongProperty(this,88);}
  1372.     CStringProperty SelText() {return CStringProperty(this,89);}
  1373.     CStringProperty Separator() {return CStringProperty(this,96);}
  1374.     CShortProperty TabIndex() {return CShortProperty(this,15);}
  1375.     CShortProperty TabStop() {return CShortProperty(this,16);}
  1376.     CStringProperty Tag() {return CStringProperty(this,21);}
  1377.     CStringProperty Text() {return CStringProperty(this,91);}
  1378.     CShortProperty ThreeDFrameWidth() {return CShortProperty(this,35);}
  1379.     CColorProperty ThreeDInsideHighlightColor() {return CColorProperty(this,28);}
  1380.     CColorProperty ThreeDInsideShadowColor() {return CColorProperty(this,29);}
  1381.     CEnumProperty ThreeDInsideStyle() {return CEnumProperty(this,27);}
  1382.     CShortProperty ThreeDInsideWidth() {return CShortProperty(this,30);}
  1383.     CColorProperty ThreeDOutsideHighlightColor() {return CColorProperty(this,32);}
  1384.     CColorProperty ThreeDOutsideShadowColor() {return CColorProperty(this,33);}
  1385.     CEnumProperty ThreeDOutsideStyle() {return CEnumProperty(this,31);}
  1386.     CShortProperty ThreeDOutsideWidth() {return CShortProperty(this,34);}
  1387.     CEnumProperty ThreeDText() {return CEnumProperty(this,55);}
  1388.     CColorProperty ThreeDTextHighlightColor() {return CColorProperty(this,56);}
  1389.     CShortProperty ThreeDTextOffset() {return CShortProperty(this,58);}
  1390.     CColorProperty ThreeDTextShadowColor() {return CColorProperty(this,57);}
  1391.     CLongProperty Top() {return CLongProperty(this,5);}
  1392.     CStringProperty UnFmtText() {return CStringProperty(this,97);}
  1393.     CBoolProperty UseSeparator() {return CBoolProperty(this,98);}
  1394.     CEnumProperty UserEntry() {return CEnumProperty(this,71);}
  1395.     CStringProperty Value() {return CStringProperty(this,99);}
  1396.     CBoolProperty Visible() {return CBoolProperty(this,22);}
  1397.     CLongProperty Width() {return CLongProperty(this,6);}
  1398.     CShortProperty hWnd() {return CShortProperty(this,73);}
  1399.  
  1400. };
  1401.  
  1402. #ifdef fpMFC
  1403.  
  1404. inline void AFXAPI
  1405. DDX_VBControl(CDataExchange* pDX, int nIDC, CAwareLong*& rpAwareLong)
  1406. {
  1407.   CVBControl* pControl = (CVBControl*)rpAwareLong;
  1408.   DDX_VBControl(pDX, nIDC, pControl);
  1409.   rpAwareLong = (CAwareLong*)pControl;
  1410. }
  1411. #endif
  1412.  
  1413. // AwareLong event indices
  1414. #define EVENT_LNG_ADVANCE 0
  1415. #define EVENT_LNG_BUTTONHIT 1
  1416. #define EVENT_LNG_CHANGE 2
  1417. #define EVENT_LNG_CHANGEMODE 3
  1418. #define EVENT_LNG_CLICK 4
  1419. #define EVENT_LNG_DBLCLICK 5
  1420. #define EVENT_LNG_GOTFOUCS 8
  1421. #define EVENT_LNG_INVALIDDATA 9
  1422. #define EVENT_LNG_KEYDOWN 10
  1423. #define EVENT_LNG_KEYPRESS 11
  1424. #define EVENT_LNG_KEYUP 12
  1425. #define EVENT_LNG_LOSTFOCUS 13
  1426. #define EVENT_LNG_MOUSEDOWN 14
  1427. #define EVENT_LNG_MOUSEMOVE 15
  1428. #define EVENT_LNG_MOUSEUP 16
  1429. #define EVENT_LNG_USERERROR 17
  1430.  
  1431. // AwareLong property indices
  1432. #define PROP_LNG_ABOUT 102
  1433. #define PROP_LNG_ACTION 59
  1434. #define PROP_LNG_ALIGNTEXTH 60
  1435. #define PROP_LNG_ALIGNTEXTV 61
  1436. #define PROP_LNG_ALLOWNULL 62
  1437. #define PROP_LNG_AUTOADVANCE 64
  1438. #define PROP_LNG_AUTOBEEP 65
  1439. #define PROP_LNG_BACKCOLOR 2
  1440. #define PROP_LNG_BORDERCOLOR 37
  1441. #define PROP_LNG_BORDERGRAYAREACOLOR 103
  1442. #define PROP_LNG_BORDERSTYLE 36
  1443. #define PROP_LNG_BORDERWIDTH 38
  1444. #define PROP_LNG_BUTTONDEFAULTACTION 50
  1445. #define PROP_LNG_BUTTONDISABLE 41
  1446. #define PROP_LNG_BUTTONHIDE 42
  1447. #define PROP_LNG_BUTTONINCREMENT 43
  1448. #define PROP_LNG_BUTTONINDEX 44
  1449. #define PROP_LNG_BUTTONMAX 46
  1450. #define PROP_LNG_BUTTONMIN 45
  1451. #define PROP_LNG_BUTTONSTYLE 47
  1452. #define PROP_LNG_BUTTONWIDTH 48
  1453. #define PROP_LNG_BUTTONWRAP 49
  1454. #define PROP_LNG_CARETINSERT 66
  1455. #define PROP_LNG_CARETOVERWRITE 67
  1456. #define PROP_LNG_CHARPOSITIONLEFT 68
  1457. #define PROP_LNG_CHARPOSITIONRIGHT 69
  1458. #define PROP_LNG_CONTROLTYPE 90
  1459. #define PROP_LNG_CURRENTPOSITION 70
  1460. #define PROP_LNG_DROPSHADOWCOLOR 53
  1461. #define PROP_LNG_DROPSHADOWWIDTH 54
  1462. #define PROP_LNG_ENABLED 19
  1463. #define PROP_LNG_FONTBOLD 10
  1464. #define PROP_LNG_FONTITALIC 11
  1465. #define PROP_LNG_FONTNAME 9
  1466. #define PROP_LNG_FONTSIZE 14
  1467. #define PROP_LNG_FONTSTRIKETHRU 12
  1468. #define PROP_LNG_FONTUNDERLINE 13
  1469. #define PROP_LNG_FORECOLOR 3
  1470. #define PROP_LNG_HEIGHT 7
  1471. #define PROP_LNG_HIDESELECTION 72
  1472. #define PROP_LNG_INCINT 100
  1473. #define PROP_LNG_INDEX 1
  1474. #define PROP_LNG_INVALIDCOLOR 74
  1475. #define PROP_LNG_INVALIDOPTION 75
  1476. #define PROP_LNG_ISNULL 76
  1477. #define PROP_LNG_ISVALID 77
  1478. #define PROP_LNG_LEFT 4
  1479. #define PROP_LNG_MARGINBOTTOM 81
  1480. #define PROP_LNG_MARGINLEFT 78
  1481. #define PROP_LNG_MARGINRIGHT 80
  1482. #define PROP_LNG_MARGINTOP 79
  1483. #define PROP_LNG_MAXVALUE 92
  1484. #define PROP_LNG_MINVALUE 93
  1485. #define PROP_LNG_MOUSEPOINTER 8
  1486. #define PROP_LNG_NAME 0
  1487. #define PROP_LNG_NEGFORMAT 94
  1488. #define PROP_LNG_NEGTOGGLE 95
  1489. #define PROP_LNG_NOSPECIALKEYS 63
  1490. #define PROP_LNG_NULLCOLOR 82
  1491. #define PROP_LNG_ONFOCUSALIGNH 83
  1492. #define PROP_LNG_ONFOCUSALIGNV 84
  1493. #define PROP_LNG_ONFOCUSINVERT3D 51
  1494. #define PROP_LNG_ONFOCUSNOSELECT 85
  1495. #define PROP_LNG_ONFOCUSPOSITION 86
  1496. #define PROP_LNG_ONFOCUSSHADOW 52
  1497. #define PROP_LNG_PARENT 20
  1498. #define PROP_LNG_REDRAW 101
  1499. #define PROP_LNG_SELLENGTH 87
  1500. #define PROP_LNG_SELSTART 88
  1501. #define PROP_LNG_SELTEXT 89
  1502. #define PROP_LNG_SEPARATOR 96
  1503. #define PROP_LNG_TABINDEX 15
  1504. #define PROP_LNG_TABSTOP 16
  1505. #define PROP_LNG_TAG 21
  1506. #define PROP_LNG_TEXT 91
  1507. #define PROP_LNG_THREEDFRAMEWIDTH 35
  1508. #define PROP_LNG_THREEDINSIDEHIGHLIGHTCOLOR 28
  1509. #define PROP_LNG_THREEDINSIDESHADOWCOLOR 29
  1510. #define PROP_LNG_THREEDINSIDESTYLE 27
  1511. #define PROP_LNG_THREEDINSIDEWIDTH 30
  1512. #define PROP_LNG_THREEDOUTSIDEHIGHLIGHTCOLOR 32
  1513. #define PROP_LNG_THREEDOUTSIDESHADOWCOLOR 33
  1514. #define PROP_LNG_THREEDOUTSIDESTYLE 31
  1515. #define PROP_LNG_THREEDOUTSIDEWIDTH 34
  1516. #define PROP_LNG_THREEDTEXT 55
  1517. #define PROP_LNG_THREEDTEXTHIGHLIGHTCOLOR 56
  1518. #define PROP_LNG_THREEDTEXTOFFSET 58
  1519. #define PROP_LNG_THREEDTEXTSHADOWCOLOR 57
  1520. #define PROP_LNG_TOP 5
  1521. #define PROP_LNG_UNFMTTEXT 97
  1522. #define PROP_LNG_USESEPARATOR 98
  1523. #define PROP_LNG_USERENTRY 71
  1524. #define PROP_LNG_VALUE 99
  1525. #define PROP_LNG_VISIBLE 22
  1526. #define PROP_LNG_WIDTH 6
  1527. #define PROP_LNG_HWND 73
  1528.  
  1529. #ifdef fpMFC
  1530.  
  1531.  
  1532. // AwareLong event macros
  1533. #define LNG_ADVANCE_DIRECTION(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  1534. #define LNG_ADVANCE_AUTOADVANCE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1535. #define LNG_BUTTONHIT_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  1536. #define LNG_BUTTONHIT_NEWINDEX(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1537. #define LNG_CHANGEMODE_EDITMODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1538. #define LNG_CLICK_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1539. #define LNG_DBLCLICK_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1540. #define LNG_INVALIDDATA_NEXTWND(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1541. #define LNG_KEYDOWN_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,1)
  1542. #define LNG_KEYDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  1543. #define LNG_KEYPRESS_KEYASCII(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  1544. #define LNG_KEYUP_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  1545. #define LNG_KEYUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1546. #define LNG_MOUSEDOWN_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  1547. #define LNG_MOUSEDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  1548. #define LNG_MOUSEDOWN_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  1549. #define LNG_MOUSEDOWN_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1550. #define LNG_MOUSEMOVE_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  1551. #define LNG_MOUSEMOVE_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  1552. #define LNG_MOUSEMOVE_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  1553. #define LNG_MOUSEMOVE_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1554. #define LNG_MOUSEUP_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  1555. #define LNG_MOUSEUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  1556. #define LNG_MOUSEUP_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  1557. #define LNG_MOUSEUP_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1558. #define LNG_USERERROR_ERRORCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  1559. #define LNG_USERERROR_AUTOBEEP(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1560.  
  1561. #elif fpOWL
  1562.  
  1563.  
  1564. // AwareLong event macros
  1565. #define LNG_ADVANCE_DIRECTION(event) VBX_EVENTARGNUM(event,int,0)
  1566. #define LNG_ADVANCE_AUTOADVANCE(event) VBX_EVENTARGNUM(event,int,1)
  1567. #define LNG_BUTTONHIT_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  1568. #define LNG_BUTTONHIT_NEWINDEX(event) VBX_EVENTARGNUM(event,int,1)
  1569. #define LNG_CHANGEMODE_EDITMODE(event) VBX_EVENTARGNUM(event,int,0)
  1570. #define LNG_CLICK_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  1571. #define LNG_DBLCLICK_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  1572. #define LNG_INVALIDDATA_NEXTWND(event) VBX_EVENTARGNUM(event,int,0)
  1573. #define LNG_KEYDOWN_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  1574. #define LNG_KEYDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  1575. #define LNG_KEYPRESS_KEYASCII(event) VBX_EVENTARGNUM(event,int,0)
  1576. #define LNG_KEYUP_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  1577. #define LNG_KEYUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  1578. #define LNG_MOUSEDOWN_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  1579. #define LNG_MOUSEDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  1580. #define LNG_MOUSEDOWN_X(event) VBX_EVENTARGNUM(event,float,2)
  1581. #define LNG_MOUSEDOWN_Y(event) VBX_EVENTARGNUM(event,float,3)
  1582. #define LNG_MOUSEMOVE_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  1583. #define LNG_MOUSEMOVE_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  1584. #define LNG_MOUSEMOVE_X(event) VBX_EVENTARGNUM(event,float,2)
  1585. #define LNG_MOUSEMOVE_Y(event) VBX_EVENTARGNUM(event,float,3)
  1586. #define LNG_MOUSEUP_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  1587. #define LNG_MOUSEUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  1588. #define LNG_MOUSEUP_X(event) VBX_EVENTARGNUM(event,float,2)
  1589. #define LNG_MOUSEUP_Y(event) VBX_EVENTARGNUM(event,float,3)
  1590. #define LNG_USERERROR_ERRORCODE(event) VBX_EVENTARGNUM(event,int,0)
  1591. #define LNG_USERERROR_AUTOBEEP(event) VBX_EVENTARGNUM(event,int,1)
  1592.  
  1593. #endif
  1594.  
  1595.  
  1596. // AwareLong property values
  1597. #define LNG_ACTION_COPY 0
  1598. #define LNG_ACTION_CUT 1
  1599. #define LNG_ACTION_PASTE 2
  1600. #define LNG_ACTION_CLEAR 3
  1601. #define LNG_ACTION_UNDO 4
  1602. #define LNG_ACTION_SET_NULL 5
  1603. #define LNG_ALIGNTEXTH_LEFT 0
  1604. #define LNG_ALIGNTEXTH_CENTER 1
  1605. #define LNG_ALIGNTEXTH_RIGHT 2
  1606. #define LNG_ALIGNTEXTV_TOP 0
  1607. #define LNG_ALIGNTEXTV_CENTER 1
  1608. #define LNG_ALIGNTEXTV_BOTTOM 2
  1609. #define LNG_BORDERSTYLE_NO_BORDER 0
  1610. #define LNG_BORDERSTYLE_SINGLE_LINE 1
  1611. #define LNG_BORDERSTYLE_ROUNDED 2
  1612. #define LNG_BORDERSTYLE_DASH 3
  1613. #define LNG_BORDERSTYLE_DOT 4
  1614. #define LNG_BORDERSTYLE_DASH_DOT 5
  1615. #define LNG_BORDERSTYLE_DASH_DOT_DOT 6
  1616. #define LNG_BUTTONSTYLE_NONE 0
  1617. #define LNG_BUTTONSTYLE_SPIN 1
  1618. #define LNG_BUTTONSTYLE_POP_UP 2
  1619. #define LNG_BUTTONSTYLE_DROP_DOWN 3
  1620. #define LNG_BUTTONSTYLE_SLIDE 4
  1621. #define LNG_CARETINSERT_SINGLE 0
  1622. #define LNG_CARETINSERT_DOUBLE 1
  1623. #define LNG_CARETINSERT_BLOCK 2
  1624. #define LNG_CARETINSERT_UNDERLINE 3
  1625. #define LNG_CARETINSERT_TRIANGLE 4
  1626. #define LNG_CARETOVERWRITE_SINGLE 0
  1627. #define LNG_CARETOVERWRITE_DOUBLE 1
  1628. #define LNG_CARETOVERWRITE_BLOCK 2
  1629. #define LNG_CARETOVERWRITE_UNDERLINE 3
  1630. #define LNG_CARETOVERWRITE_TRIANGLE 4
  1631. #define LNG_CONTROLTYPE_NORMAL 0
  1632. #define LNG_CONTROLTYPE_READ_ONLY 1
  1633. #define LNG_CONTROLTYPE_STATIC 2
  1634. #define LNG_INVALIDOPTION_SHOW_DATA 0
  1635. #define LNG_INVALIDOPTION_HIDE_DATA 1
  1636. #define LNG_INVALIDOPTION_CLEAR_DATA 2
  1637. #define LNG_MOUSEPOINTER_DEFAULT 0
  1638. #define LNG_MOUSEPOINTER_ARROW 1
  1639. #define LNG_MOUSEPOINTER_CROSS 2
  1640. #define LNG_MOUSEPOINTER_I_BEAM 3
  1641. #define LNG_MOUSEPOINTER_ICON 4
  1642. #define LNG_MOUSEPOINTER_SIZE 5
  1643. #define LNG_MOUSEPOINTER_SIZE_NE_SW 6
  1644. #define LNG_MOUSEPOINTER_SIZE_N_S 7
  1645. #define LNG_MOUSEPOINTER_SIZE_NW_SE 8
  1646. #define LNG_MOUSEPOINTER_SIZE_W_E 9
  1647. #define LNG_MOUSEPOINTER_UP_ARROW 10
  1648. #define LNG_MOUSEPOINTER_HOURGLASS 11
  1649. #define LNG_MOUSEPOINTER_NO_DROP 12
  1650. #define LNG_NEGFORMAT_LFT_1_RGT 0
  1651. #define LNG_NEGFORMAT_NEG_1 1
  1652. #define LNG_NEGFORMAT_1_NEG 2
  1653. #define LNG_NOSPECIALKEYS_ALL_KEYS_ENABLED 0
  1654. #define LNG_NOSPECIALKEYS_AWARE_KEYS_DISABLED 1
  1655. #define LNG_NOSPECIALKEYS_EDIT_KEYS_DISABLED 2
  1656. #define LNG_NOSPECIALKEYS_ALL_KEYS_DISABLED 3
  1657. #define LNG_ONFOCUSALIGNH_DEFAULT 0
  1658. #define LNG_ONFOCUSALIGNH_LEFT 1
  1659. #define LNG_ONFOCUSALIGNH_CENTER 2
  1660. #define LNG_ONFOCUSALIGNH_RIGHT 3
  1661. #define LNG_ONFOCUSALIGNV_DEFAULT 0
  1662. #define LNG_ONFOCUSALIGNV_TOP 1
  1663. #define LNG_ONFOCUSALIGNV_CENTER 2
  1664. #define LNG_ONFOCUSALIGNV_BOTTOM 3
  1665. #define LNG_ONFOCUSPOSITION_END 0
  1666. #define LNG_ONFOCUSPOSITION_BEGINNING 1
  1667. #define LNG_ONFOCUSPOSITION_PREVIOUS 2
  1668. #define LNG_ONFOCUSPOSITION_CARET 3
  1669. #define LNG_THREEDINSIDESTYLE_NONE 0
  1670. #define LNG_THREEDINSIDESTYLE_LOWERED 1
  1671. #define LNG_THREEDINSIDESTYLE_RAISED 2
  1672. #define LNG_THREEDOUTSIDESTYLE_NONE 0
  1673. #define LNG_THREEDOUTSIDESTYLE_LOWERED 1
  1674. #define LNG_THREEDOUTSIDESTYLE_RAISED 2
  1675. #define LNG_THREEDTEXT_NONE 0
  1676. #define LNG_THREEDTEXT_ETCHED 1
  1677. #define LNG_THREEDTEXT_EMBOSSED 2
  1678. #define LNG_THREEDTEXT_ETCHED_W_SHADING 3
  1679. #define LNG_THREEDTEXT_EMBOSSED_W_SHADING 4
  1680. #define LNG_USERENTRY_FORMATTED 0
  1681. #define LNG_USERENTRY_FREE_FORMAT 1
  1682.  
  1683. // Class representing AwareCurrency10 control in AWARE.VBX file
  1684.  
  1685. class CAwareCurrency : public CVBControl
  1686. {
  1687.   public:
  1688.  
  1689. #ifdef fpMFC
  1690.  
  1691.     BOOL Create(DWORD dwStyle, const RECT& rect,
  1692.                 CWnd* pParentWnd, UINT nID,
  1693.                 CFile* pFile = NULL, BOOL bAutoDelete = FALSE)
  1694.     {
  1695.       return CVBControl::Create(
  1696.                "AWARE.VBX;AwareCurrency10;",
  1697.                dwStyle, rect,
  1698.                pParentWnd, nID,
  1699.                pFile, bAutoDelete
  1700.              );
  1701.     }
  1702.  
  1703. #elif fpOWL
  1704.  
  1705.     CAwareCurrency(TWindow* parent, int id,
  1706.         const char far* title,
  1707.         int x, int y, int w, int h,
  1708.         long initLen = 0, void far* initData = 0,
  1709.         TModule* module = 0)
  1710.     : CVBControl(parent, id, "AWARE.VBX", "AwareCurrency10",
  1711.           title, x, y, w, h, initLen, initData, module) {};
  1712.  
  1713.     CAwareCurrency(TWindow* parent, int resourceId, TModule* module = 0)
  1714.     : CVBControl(parent, resourceId, module) {};
  1715.  
  1716. #endif
  1717.  
  1718.     CStringProperty About() {return CStringProperty(this,109);}
  1719.     CEnumProperty AlignTextH() {return CEnumProperty(this,60);}
  1720.     CEnumProperty AlignTextV() {return CEnumProperty(this,61);}
  1721.     CBoolProperty AllowNull() {return CBoolProperty(this,62);}
  1722.     CBoolProperty AutoAdvance() {return CBoolProperty(this,64);}
  1723.     CBoolProperty AutoBeep() {return CBoolProperty(this,65);}
  1724.     CColorProperty BackColor() {return CColorProperty(this,2);}
  1725.     CColorProperty BorderColor() {return CColorProperty(this,37);}
  1726.     CColorProperty BorderGrayAreaColor() {return CColorProperty(this,110);}
  1727.     CEnumProperty BorderStyle() {return CEnumProperty(this,36);}
  1728.     CShortProperty BorderWidth() {return CShortProperty(this,38);}
  1729.     CBoolProperty ButtonDefaultAction() {return CBoolProperty(this,50);}
  1730.     CBoolProperty ButtonDisable() {return CBoolProperty(this,41);}
  1731.     CBoolProperty ButtonHide() {return CBoolProperty(this,42);}
  1732.     CShortProperty ButtonIncrement() {return CShortProperty(this,43);}
  1733.     CShortProperty ButtonIndex() {return CShortProperty(this,44);}
  1734.     CShortProperty ButtonMax() {return CShortProperty(this,46);}
  1735.     CShortProperty ButtonMin() {return CShortProperty(this,45);}
  1736.     CEnumProperty ButtonStyle() {return CEnumProperty(this,47);}
  1737.     CLongProperty ButtonWidth() {return CLongProperty(this,48);}
  1738.     CBoolProperty ButtonWrap() {return CBoolProperty(this,49);}
  1739.     CEnumProperty CaretInsert() {return CEnumProperty(this,66);}
  1740.     CEnumProperty CaretOverWrite() {return CEnumProperty(this,67);}
  1741.     CLongProperty CharPositionLeft() {return CLongProperty(this,68);}
  1742.     CLongProperty CharPositionRight() {return CLongProperty(this,69);}
  1743.     CEnumProperty ControlType() {return CEnumProperty(this,90);}
  1744.     CShortProperty CurrencyDecimalPlaces() {return CShortProperty(this,92);}
  1745.     CEnumProperty CurrencyNegFormat() {return CEnumProperty(this,93);}
  1746.     CEnumProperty CurrencyPlacement() {return CEnumProperty(this,94);}
  1747.     CStringProperty CurrencySymbol() {return CStringProperty(this,95);}
  1748.     CLongProperty CurrentPosition() {return CLongProperty(this,70);}
  1749.     CStringProperty DecimalPoint() {return CStringProperty(this,96);}
  1750.     CColorProperty DropShadowColor() {return CColorProperty(this,53);}
  1751.     CShortProperty DropShadowWidth() {return CShortProperty(this,54);}
  1752.     CBoolProperty Enabled() {return CBoolProperty(this,19);}
  1753.     CBoolProperty FixedPoint() {return CBoolProperty(this,97);}
  1754.     CBoolProperty FontBold() {return CBoolProperty(this,10);}
  1755.     CBoolProperty FontItalic() {return CBoolProperty(this,11);}
  1756.     CStringProperty FontName() {return CStringProperty(this,9);}
  1757.     CFloatProperty FontSize() {return CFloatProperty(this,14);}
  1758.     CBoolProperty FontStrikethru() {return CBoolProperty(this,12);}
  1759.     CBoolProperty FontUnderline() {return CBoolProperty(this,13);}
  1760.     CColorProperty ForeColor() {return CColorProperty(this,3);}
  1761.     CLongProperty Height() {return CLongProperty(this,7);}
  1762.     CBoolProperty HideSelection() {return CBoolProperty(this,72);}
  1763.     CFloatProperty IncDec() {return CFloatProperty(this,107);}
  1764.     CFloatProperty IncInt() {return CFloatProperty(this,106);}
  1765.     CShortProperty Index() {return CShortProperty(this,1);}
  1766.     CColorProperty InvalidColor() {return CColorProperty(this,74);}
  1767.     CEnumProperty InvalidOption() {return CEnumProperty(this,75);}
  1768.     CBoolProperty IsNull() {return CBoolProperty(this,76);}
  1769.     CBoolProperty IsValid() {return CBoolProperty(this,77);}
  1770.     CEnumProperty LeadZero() {return CEnumProperty(this,98);}
  1771.     CLongProperty Left() {return CLongProperty(this,4);}
  1772.     CShortProperty MarginBottom() {return CShortProperty(this,81);}
  1773.     CShortProperty MarginLeft() {return CShortProperty(this,78);}
  1774.     CShortProperty MarginRight() {return CShortProperty(this,80);}
  1775.     CShortProperty MarginTop() {return CShortProperty(this,79);}
  1776.     CStringProperty MaxValue() {return CStringProperty(this,99);}
  1777.     CStringProperty MinValue() {return CStringProperty(this,100);}
  1778.     CEnumProperty MousePointer() {return CEnumProperty(this,8);}
  1779.     CStringProperty Name() {return CStringProperty(this,0);}
  1780.     CBoolProperty NegToggle() {return CBoolProperty(this,101);}
  1781.     CEnumProperty NoSpecialKeys() {return CEnumProperty(this,63);}
  1782.     CColorProperty NullColor() {return CColorProperty(this,82);}
  1783.     CEnumProperty OnFocusAlignH() {return CEnumProperty(this,83);}
  1784.     CEnumProperty OnFocusAlignV() {return CEnumProperty(this,84);}
  1785.     CBoolProperty OnFocusInvert3D() {return CBoolProperty(this,51);}
  1786.     CBoolProperty OnFocusNoSelect() {return CBoolProperty(this,85);}
  1787.     CEnumProperty OnFocusPosition() {return CEnumProperty(this,86);}
  1788.     CBoolProperty OnFocusShadow() {return CBoolProperty(this,52);}
  1789.     CShortProperty Parent() {return CShortProperty(this,20);}
  1790.     CBoolProperty Redraw() {return CBoolProperty(this,108);}
  1791.     CLongProperty SelLength() {return CLongProperty(this,87);}
  1792.     CLongProperty SelStart() {return CLongProperty(this,88);}
  1793.     CStringProperty SelText() {return CStringProperty(this,89);}
  1794.     CStringProperty Separator() {return CStringProperty(this,102);}
  1795.     CShortProperty TabIndex() {return CShortProperty(this,15);}
  1796.     CShortProperty TabStop() {return CShortProperty(this,16);}
  1797.     CStringProperty Tag() {return CStringProperty(this,21);}
  1798.     CStringProperty Text() {return CStringProperty(this,91);}
  1799.     CShortProperty ThreeDFrameWidth() {return CShortProperty(this,35);}
  1800.     CColorProperty ThreeDInsideHighlightColor() {return CColorProperty(this,28);}
  1801.     CColorProperty ThreeDInsideShadowColor() {return CColorProperty(this,29);}
  1802.     CEnumProperty ThreeDInsideStyle() {return CEnumProperty(this,27);}
  1803.     CShortProperty ThreeDInsideWidth() {return CShortProperty(this,30);}
  1804.     CColorProperty ThreeDOutsideHighlightColor() {return CColorProperty(this,32);}
  1805.     CColorProperty ThreeDOutsideShadowColor() {return CColorProperty(this,33);}
  1806.     CEnumProperty ThreeDOutsideStyle() {return CEnumProperty(this,31);}
  1807.     CShortProperty ThreeDOutsideWidth() {return CShortProperty(this,34);}
  1808.     CEnumProperty ThreeDText() {return CEnumProperty(this,55);}
  1809.     CColorProperty ThreeDTextHighlightColor() {return CColorProperty(this,56);}
  1810.     CShortProperty ThreeDTextOffset() {return CShortProperty(this,58);}
  1811.     CColorProperty ThreeDTextShadowColor() {return CColorProperty(this,57);}
  1812.     CLongProperty Top() {return CLongProperty(this,5);}
  1813.     CStringProperty UnFmtText() {return CStringProperty(this,103);}
  1814.     CBoolProperty UseSeparator() {return CBoolProperty(this,104);}
  1815.     CEnumProperty UserEntry() {return CEnumProperty(this,71);}
  1816.     CStringProperty Value() {return CStringProperty(this,105);}
  1817.     CBoolProperty Visible() {return CBoolProperty(this,22);}
  1818.     CLongProperty Width() {return CLongProperty(this,6);}
  1819.     CShortProperty hWnd() {return CShortProperty(this,73);}
  1820.  
  1821. };
  1822.  
  1823. #ifdef fpMFC
  1824.  
  1825. inline void AFXAPI
  1826. DDX_VBControl(CDataExchange* pDX, int nIDC, CAwareCurrency*& rpAwareCurrency)
  1827. {
  1828.   CVBControl* pControl = (CVBControl*)rpAwareCurrency;
  1829.   DDX_VBControl(pDX, nIDC, pControl);
  1830.   rpAwareCurrency = (CAwareCurrency*)pControl;
  1831. }
  1832. #endif
  1833.  
  1834. // AwareCurrency event indices
  1835. #define EVENT_CUR_ADVANCE 0
  1836. #define EVENT_CUR_BUTTONHIT 1
  1837. #define EVENT_CUR_CHANGE 2
  1838. #define EVENT_CUR_CHANGEMODE 3
  1839. #define EVENT_CUR_CLICK 4
  1840. #define EVENT_CUR_DBLCLICK 5
  1841. #define EVENT_CUR_GOTFOUCS 8
  1842. #define EVENT_CUR_INVALIDDATA 9
  1843. #define EVENT_CUR_KEYDOWN 10
  1844. #define EVENT_CUR_KEYPRESS 11
  1845. #define EVENT_CUR_KEYUP 12
  1846. #define EVENT_CUR_LOSTFOCUS 13
  1847. #define EVENT_CUR_MOUSEDOWN 14
  1848. #define EVENT_CUR_MOUSEMOVE 15
  1849. #define EVENT_CUR_MOUSEUP 16
  1850. #define EVENT_CUR_USERERROR 17
  1851.  
  1852. // AwareCurrency property indices
  1853. #define PROP_CUR_ABOUT 109
  1854. #define PROP_CUR_ACTION 59
  1855. #define PROP_CUR_ALIGNTEXTH 60
  1856. #define PROP_CUR_ALIGNTEXTV 61
  1857. #define PROP_CUR_ALLOWNULL 62
  1858. #define PROP_CUR_AUTOADVANCE 64
  1859. #define PROP_CUR_AUTOBEEP 65
  1860. #define PROP_CUR_BACKCOLOR 2
  1861. #define PROP_CUR_BORDERCOLOR 37
  1862. #define PROP_CUR_BORDERGRAYAREACOLOR 110
  1863. #define PROP_CUR_BORDERSTYLE 36
  1864. #define PROP_CUR_BORDERWIDTH 38
  1865. #define PROP_CUR_BUTTONDEFAULTACTION 50
  1866. #define PROP_CUR_BUTTONDISABLE 41
  1867. #define PROP_CUR_BUTTONHIDE 42
  1868. #define PROP_CUR_BUTTONINCREMENT 43
  1869. #define PROP_CUR_BUTTONINDEX 44
  1870. #define PROP_CUR_BUTTONMAX 46
  1871. #define PROP_CUR_BUTTONMIN 45
  1872. #define PROP_CUR_BUTTONSTYLE 47
  1873. #define PROP_CUR_BUTTONWIDTH 48
  1874. #define PROP_CUR_BUTTONWRAP 49
  1875. #define PROP_CUR_CARETINSERT 66
  1876. #define PROP_CUR_CARETOVERWRITE 67
  1877. #define PROP_CUR_CHARPOSITIONLEFT 68
  1878. #define PROP_CUR_CHARPOSITIONRIGHT 69
  1879. #define PROP_CUR_CONTROLTYPE 90
  1880. #define PROP_CUR_CURRENCYDECIMALPLACES 92
  1881. #define PROP_CUR_CURRENCYNEGFORMAT 93
  1882. #define PROP_CUR_CURRENCYPLACEMENT 94
  1883. #define PROP_CUR_CURRENCYSYMBOL 95
  1884. #define PROP_CUR_CURRENTPOSITION 70
  1885. #define PROP_CUR_DECIMALPOINT 96
  1886. #define PROP_CUR_DROPSHADOWCOLOR 53
  1887. #define PROP_CUR_DROPSHADOWWIDTH 54
  1888. #define PROP_CUR_ENABLED 19
  1889. #define PROP_CUR_FIXEDPOINT 97
  1890. #define PROP_CUR_FONTBOLD 10
  1891. #define PROP_CUR_FONTITALIC 11
  1892. #define PROP_CUR_FONTNAME 9
  1893. #define PROP_CUR_FONTSIZE 14
  1894. #define PROP_CUR_FONTSTRIKETHRU 12
  1895. #define PROP_CUR_FONTUNDERLINE 13
  1896. #define PROP_CUR_FORECOLOR 3
  1897. #define PROP_CUR_HEIGHT 7
  1898. #define PROP_CUR_HIDESELECTION 72
  1899. #define PROP_CUR_INCDEC 107
  1900. #define PROP_CUR_INCINT 106
  1901. #define PROP_CUR_INDEX 1
  1902. #define PROP_CUR_INVALIDCOLOR 74
  1903. #define PROP_CUR_INVALIDOPTION 75
  1904. #define PROP_CUR_ISNULL 76
  1905. #define PROP_CUR_ISVALID 77
  1906. #define PROP_CUR_LEADZERO 98
  1907. #define PROP_CUR_LEFT 4
  1908. #define PROP_CUR_MARGINBOTTOM 81
  1909. #define PROP_CUR_MARGINLEFT 78
  1910. #define PROP_CUR_MARGINRIGHT 80
  1911. #define PROP_CUR_MARGINTOP 79
  1912. #define PROP_CUR_MAXVALUE 99
  1913. #define PROP_CUR_MINVALUE 100
  1914. #define PROP_CUR_MOUSEPOINTER 8
  1915. #define PROP_CUR_NAME 0
  1916. #define PROP_CUR_NEGTOGGLE 101
  1917. #define PROP_CUR_NOSPECIALKEYS 63
  1918. #define PROP_CUR_NULLCOLOR 82
  1919. #define PROP_CUR_ONFOCUSALIGNH 83
  1920. #define PROP_CUR_ONFOCUSALIGNV 84
  1921. #define PROP_CUR_ONFOCUSINVERT3D 51
  1922. #define PROP_CUR_ONFOCUSNOSELECT 85
  1923. #define PROP_CUR_ONFOCUSPOSITION 86
  1924. #define PROP_CUR_ONFOCUSSHADOW 52
  1925. #define PROP_CUR_PARENT 20
  1926. #define PROP_CUR_REDRAW 108
  1927. #define PROP_CUR_SELLENGTH 87
  1928. #define PROP_CUR_SELSTART 88
  1929. #define PROP_CUR_SELTEXT 89
  1930. #define PROP_CUR_SEPARATOR 102
  1931. #define PROP_CUR_TABINDEX 15
  1932. #define PROP_CUR_TABSTOP 16
  1933. #define PROP_CUR_TAG 21
  1934. #define PROP_CUR_TEXT 91
  1935. #define PROP_CUR_THREEDFRAMEWIDTH 35
  1936. #define PROP_CUR_THREEDINSIDEHIGHLIGHTCOLOR 28
  1937. #define PROP_CUR_THREEDINSIDESHADOWCOLOR 29
  1938. #define PROP_CUR_THREEDINSIDESTYLE 27
  1939. #define PROP_CUR_THREEDINSIDEWIDTH 30
  1940. #define PROP_CUR_THREEDOUTSIDEHIGHLIGHTCOLOR 32
  1941. #define PROP_CUR_THREEDOUTSIDESHADOWCOLOR 33
  1942. #define PROP_CUR_THREEDOUTSIDESTYLE 31
  1943. #define PROP_CUR_THREEDOUTSIDEWIDTH 34
  1944. #define PROP_CUR_THREEDTEXT 55
  1945. #define PROP_CUR_THREEDTEXTHIGHLIGHTCOLOR 56
  1946. #define PROP_CUR_THREEDTEXTOFFSET 58
  1947. #define PROP_CUR_THREEDTEXTSHADOWCOLOR 57
  1948. #define PROP_CUR_TOP 5
  1949. #define PROP_CUR_UNFMTTEXT 103
  1950. #define PROP_CUR_USESEPARATOR 104
  1951. #define PROP_CUR_USERENTRY 71
  1952. #define PROP_CUR_VALUE 105
  1953. #define PROP_CUR_VISIBLE 22
  1954. #define PROP_CUR_WIDTH 6
  1955. #define PROP_CUR_HWND 73
  1956.  
  1957. #ifdef fpMFC
  1958.  
  1959.  
  1960. // AwareCurrency event macros
  1961. #define CUR_ADVANCE_DIRECTION(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  1962. #define CUR_ADVANCE_AUTOADVANCE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1963. #define CUR_BUTTONHIT_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  1964. #define CUR_BUTTONHIT_NEWINDEX(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1965. #define CUR_CHANGEMODE_EDITMODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1966. #define CUR_CLICK_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1967. #define CUR_DBLCLICK_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1968. #define CUR_INVALIDDATA_NEXTWND(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1969. #define CUR_KEYDOWN_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,1)
  1970. #define CUR_KEYDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  1971. #define CUR_KEYPRESS_KEYASCII(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  1972. #define CUR_KEYUP_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  1973. #define CUR_KEYUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1974. #define CUR_MOUSEDOWN_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  1975. #define CUR_MOUSEDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  1976. #define CUR_MOUSEDOWN_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  1977. #define CUR_MOUSEDOWN_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1978. #define CUR_MOUSEMOVE_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  1979. #define CUR_MOUSEMOVE_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  1980. #define CUR_MOUSEMOVE_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  1981. #define CUR_MOUSEMOVE_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1982. #define CUR_MOUSEUP_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  1983. #define CUR_MOUSEUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  1984. #define CUR_MOUSEUP_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  1985. #define CUR_MOUSEUP_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1986. #define CUR_USERERROR_ERRORCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  1987. #define CUR_USERERROR_AUTOBEEP(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  1988.  
  1989. #elif fpOWL
  1990.  
  1991.  
  1992. // AwareCurrency event macros
  1993. #define CUR_ADVANCE_DIRECTION(event) VBX_EVENTARGNUM(event,int,0)
  1994. #define CUR_ADVANCE_AUTOADVANCE(event) VBX_EVENTARGNUM(event,int,1)
  1995. #define CUR_BUTTONHIT_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  1996. #define CUR_BUTTONHIT_NEWINDEX(event) VBX_EVENTARGNUM(event,int,1)
  1997. #define CUR_CHANGEMODE_EDITMODE(event) VBX_EVENTARGNUM(event,int,0)
  1998. #define CUR_CLICK_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  1999. #define CUR_DBLCLICK_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  2000. #define CUR_INVALIDDATA_NEXTWND(event) VBX_EVENTARGNUM(event,int,0)
  2001. #define CUR_KEYDOWN_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  2002. #define CUR_KEYDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  2003. #define CUR_KEYPRESS_KEYASCII(event) VBX_EVENTARGNUM(event,int,0)
  2004. #define CUR_KEYUP_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  2005. #define CUR_KEYUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  2006. #define CUR_MOUSEDOWN_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  2007. #define CUR_MOUSEDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  2008. #define CUR_MOUSEDOWN_X(event) VBX_EVENTARGNUM(event,float,2)
  2009. #define CUR_MOUSEDOWN_Y(event) VBX_EVENTARGNUM(event,float,3)
  2010. #define CUR_MOUSEMOVE_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  2011. #define CUR_MOUSEMOVE_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  2012. #define CUR_MOUSEMOVE_X(event) VBX_EVENTARGNUM(event,float,2)
  2013. #define CUR_MOUSEMOVE_Y(event) VBX_EVENTARGNUM(event,float,3)
  2014. #define CUR_MOUSEUP_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  2015. #define CUR_MOUSEUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  2016. #define CUR_MOUSEUP_X(event) VBX_EVENTARGNUM(event,float,2)
  2017. #define CUR_MOUSEUP_Y(event) VBX_EVENTARGNUM(event,float,3)
  2018. #define CUR_USERERROR_ERRORCODE(event) VBX_EVENTARGNUM(event,int,0)
  2019. #define CUR_USERERROR_AUTOBEEP(event) VBX_EVENTARGNUM(event,int,1)
  2020.  
  2021. #endif
  2022.  
  2023.  
  2024. // AwareCurrency property values
  2025. #define CUR_ACTION_COPY 0
  2026. #define CUR_ACTION_CUT 1
  2027. #define CUR_ACTION_PASTE 2
  2028. #define CUR_ACTION_CLEAR 3
  2029. #define CUR_ACTION_UNDO 4
  2030. #define CUR_ACTION_SET_NULL 5
  2031. #define CUR_ALIGNTEXTH_LEFT 0
  2032. #define CUR_ALIGNTEXTH_CENTER 1
  2033. #define CUR_ALIGNTEXTH_RIGHT 2
  2034. #define CUR_ALIGNTEXTV_TOP 0
  2035. #define CUR_ALIGNTEXTV_CENTER 1
  2036. #define CUR_ALIGNTEXTV_BOTTOM 2
  2037. #define CUR_BORDERSTYLE_NO_BORDER 0
  2038. #define CUR_BORDERSTYLE_SINGLE_LINE 1
  2039. #define CUR_BORDERSTYLE_ROUNDED 2
  2040. #define CUR_BORDERSTYLE_DASH 3
  2041. #define CUR_BORDERSTYLE_DOT 4
  2042. #define CUR_BORDERSTYLE_DASH_DOT 5
  2043. #define CUR_BORDERSTYLE_DASH_DOT_DOT 6
  2044. #define CUR_BUTTONSTYLE_NONE 0
  2045. #define CUR_BUTTONSTYLE_SPIN 1
  2046. #define CUR_BUTTONSTYLE_POP_UP 2
  2047. #define CUR_BUTTONSTYLE_DROP_DOWN 3
  2048. #define CUR_BUTTONSTYLE_SLIDE 4
  2049. #define CUR_CARETINSERT_SINGLE 0
  2050. #define CUR_CARETINSERT_DOUBLE 1
  2051. #define CUR_CARETINSERT_BLOCK 2
  2052. #define CUR_CARETINSERT_UNDERLINE 3
  2053. #define CUR_CARETINSERT_TRIANGLE 4
  2054. #define CUR_CARETOVERWRITE_SINGLE 0
  2055. #define CUR_CARETOVERWRITE_DOUBLE 1
  2056. #define CUR_CARETOVERWRITE_BLOCK 2
  2057. #define CUR_CARETOVERWRITE_UNDERLINE 3
  2058. #define CUR_CARETOVERWRITE_TRIANGLE 4
  2059. #define CUR_CONTROLTYPE_NORMAL 0
  2060. #define CUR_CONTROLTYPE_READ_ONLY 1
  2061. #define CUR_CONTROLTYPE_STATIC 2
  2062. #define CUR_CURRENCYNEGFORMAT_INTL 0
  2063. #define CUR_CURRENCYNEGFORMAT_LFT_SYM_1_RGT 1
  2064. #define CUR_CURRENCYNEGFORMAT_NEG_SYM_1 2
  2065. #define CUR_CURRENCYNEGFORMAT_SYM_NEG_1 3
  2066. #define CUR_CURRENCYNEGFORMAT_SYM_1_NEG 4
  2067. #define CUR_CURRENCYNEGFORMAT_LFT_1_SYM_RGT 5
  2068. #define CUR_CURRENCYNEGFORMAT_NEG_1_SYM 6
  2069. #define CUR_CURRENCYNEGFORMAT_1_NEG_SYM 7
  2070. #define CUR_CURRENCYNEGFORMAT_1_SYM_NEG 8
  2071. #define CUR_CURRENCYNEGFORMAT_NEG_1_SPC_SYM 9
  2072. #define CUR_CURRENCYNEGFORMAT_NEG_SYM_SPC_1 10
  2073. #define CUR_CURRENCYNEGFORMAT_SYM_SPC_1_NEG 11
  2074. #define CUR_CURRENCYPLACEMENT_INTL 0
  2075. #define CUR_CURRENCYPLACEMENT_SYM_1 1
  2076. #define CUR_CURRENCYPLACEMENT_1_SYM 2
  2077. #define CUR_CURRENCYPLACEMENT_SYM_SPC_1 3
  2078. #define CUR_CURRENCYPLACEMENT_1_SPC_SYM 4
  2079. #define CUR_INVALIDOPTION_SHOW_DATA 0
  2080. #define CUR_INVALIDOPTION_HIDE_DATA 1
  2081. #define CUR_INVALIDOPTION_CLEAR_DATA 2
  2082. #define CUR_LEADZERO_INTL 0
  2083. #define CUR_LEADZERO_NO_LEADING_ZERO 1
  2084. #define CUR_LEADZERO_LEADING_ZERO 2
  2085. #define CUR_MOUSEPOINTER_DEFAULT 0
  2086. #define CUR_MOUSEPOINTER_ARROW 1
  2087. #define CUR_MOUSEPOINTER_CROSS 2
  2088. #define CUR_MOUSEPOINTER_I_BEAM 3
  2089. #define CUR_MOUSEPOINTER_ICON 4
  2090. #define CUR_MOUSEPOINTER_SIZE 5
  2091. #define CUR_MOUSEPOINTER_SIZE_NE_SW 6
  2092. #define CUR_MOUSEPOINTER_SIZE_N_S 7
  2093. #define CUR_MOUSEPOINTER_SIZE_NW_SE 8
  2094. #define CUR_MOUSEPOINTER_SIZE_W_E 9
  2095. #define CUR_MOUSEPOINTER_UP_ARROW 10
  2096. #define CUR_MOUSEPOINTER_HOURGLASS 11
  2097. #define CUR_MOUSEPOINTER_NO_DROP 12
  2098. #define CUR_NOSPECIALKEYS_ALL_KEYS_ENABLED 0
  2099. #define CUR_NOSPECIALKEYS_AWARE_KEYS_DISABLED 1
  2100. #define CUR_NOSPECIALKEYS_EDIT_KEYS_DISABLED 2
  2101. #define CUR_NOSPECIALKEYS_ALL_KEYS_DISABLED 3
  2102. #define CUR_ONFOCUSALIGNH_DEFAULT 0
  2103. #define CUR_ONFOCUSALIGNH_LEFT 1
  2104. #define CUR_ONFOCUSALIGNH_CENTER 2
  2105. #define CUR_ONFOCUSALIGNH_RIGHT 3
  2106. #define CUR_ONFOCUSALIGNV_DEFAULT 0
  2107. #define CUR_ONFOCUSALIGNV_TOP 1
  2108. #define CUR_ONFOCUSALIGNV_CENTER 2
  2109. #define CUR_ONFOCUSALIGNV_BOTTOM 3
  2110. #define CUR_ONFOCUSPOSITION_END 0
  2111. #define CUR_ONFOCUSPOSITION_BEGINNING 1
  2112. #define CUR_ONFOCUSPOSITION_PREVIOUS 2
  2113. #define CUR_ONFOCUSPOSITION_CARET 3
  2114. #define CUR_THREEDINSIDESTYLE_NONE 0
  2115. #define CUR_THREEDINSIDESTYLE_LOWERED 1
  2116. #define CUR_THREEDINSIDESTYLE_RAISED 2
  2117. #define CUR_THREEDOUTSIDESTYLE_NONE 0
  2118. #define CUR_THREEDOUTSIDESTYLE_LOWERED 1
  2119. #define CUR_THREEDOUTSIDESTYLE_RAISED 2
  2120. #define CUR_THREEDTEXT_NONE 0
  2121. #define CUR_THREEDTEXT_ETCHED 1
  2122. #define CUR_THREEDTEXT_EMBOSSED 2
  2123. #define CUR_THREEDTEXT_ETCHED_W_SHADING 3
  2124. #define CUR_THREEDTEXT_EMBOSSED_W_SHADING 4
  2125. #define CUR_USERENTRY_FORMATTED 0
  2126. #define CUR_USERENTRY_FREE_FORMAT 1
  2127.  
  2128. // Class representing AwareDateTime10 control in AWARE.VBX file
  2129.  
  2130. class CAwareDateTime : public CVBControl
  2131. {
  2132.   public:
  2133.  
  2134. #ifdef fpMFC
  2135.  
  2136.     BOOL Create(DWORD dwStyle, const RECT& rect,
  2137.                 CWnd* pParentWnd, UINT nID,
  2138.                 CFile* pFile = NULL, BOOL bAutoDelete = FALSE)
  2139.     {
  2140.       return CVBControl::Create(
  2141.                "AWARE.VBX;AwareDateTime10;",
  2142.                dwStyle, rect,
  2143.                pParentWnd, nID,
  2144.                pFile, bAutoDelete
  2145.              );
  2146.     }
  2147.  
  2148. #elif fpOWL
  2149.  
  2150.     CAwareDateTime(TWindow* parent, int id,
  2151.         const char far* title,
  2152.         int x, int y, int w, int h,
  2153.         long initLen = 0, void far* initData = 0,
  2154.         TModule* module = 0)
  2155.     : CVBControl(parent, id, "AWARE.VBX", "AwareDateTime10",
  2156.           title, x, y, w, h, initLen, initData, module) {};
  2157.  
  2158.     CAwareDateTime(TWindow* parent, int resourceId, TModule* module = 0)
  2159.     : CVBControl(parent, resourceId, module) {};
  2160.  
  2161. #endif
  2162.  
  2163.     CStringProperty About() {return CStringProperty(this,105);}
  2164.     CEnumProperty AlignTextH() {return CEnumProperty(this,58);}
  2165.     CEnumProperty AlignTextV() {return CEnumProperty(this,59);}
  2166.     CBoolProperty AllowNull() {return CBoolProperty(this,60);}
  2167.     CBoolProperty AutoAdvance() {return CBoolProperty(this,62);}
  2168.     CBoolProperty AutoBeep() {return CBoolProperty(this,63);}
  2169.     CColorProperty BackColor() {return CColorProperty(this,2);}
  2170.     CColorProperty BorderColor() {return CColorProperty(this,37);}
  2171.     CColorProperty BorderGrayAreaColor() {return CColorProperty(this,106);}
  2172.     CEnumProperty BorderStyle() {return CEnumProperty(this,36);}
  2173.     CShortProperty BorderWidth() {return CShortProperty(this,38);}
  2174.     CBoolProperty ButtonDefaultAction() {return CBoolProperty(this,39);}
  2175.     CBoolProperty ButtonDisable() {return CBoolProperty(this,40);}
  2176.     CBoolProperty ButtonHide() {return CBoolProperty(this,41);}
  2177.     CShortProperty ButtonIncrement() {return CShortProperty(this,42);}
  2178.     CShortProperty ButtonIndex() {return CShortProperty(this,43);}
  2179.     CShortProperty ButtonMax() {return CShortProperty(this,45);}
  2180.     CShortProperty ButtonMin() {return CShortProperty(this,44);}
  2181.     CEnumProperty ButtonStyle() {return CEnumProperty(this,46);}
  2182.     CLongProperty ButtonWidth() {return CLongProperty(this,47);}
  2183.     CBoolProperty ButtonWrap() {return CBoolProperty(this,48);}
  2184.     CEnumProperty CaretInsert() {return CEnumProperty(this,64);}
  2185.     CEnumProperty CaretOverWrite() {return CEnumProperty(this,65);}
  2186.     CLongProperty CharPositionLeft() {return CLongProperty(this,66);}
  2187.     CLongProperty CharPositionRight() {return CLongProperty(this,67);}
  2188.     CEnumProperty ControlType() {return CEnumProperty(this,88);}
  2189.     CLongProperty CurrentPosition() {return CLongProperty(this,68);}
  2190.     CEnumProperty DateCalcMethod() {return CEnumProperty(this,90);}
  2191.     CStringProperty DateDefault() {return CStringProperty(this,101);}
  2192.     CStringProperty DateMax() {return CStringProperty(this,93);}
  2193.     CStringProperty DateMin() {return CStringProperty(this,94);}
  2194.     CEnumProperty DateTimeFormat() {return CEnumProperty(this,91);}
  2195.     CStringProperty DateValue() {return CStringProperty(this,107);}
  2196.     CShortProperty Day() {return CShortProperty(this,111);}
  2197.     CColorProperty DropShadowColor() {return CColorProperty(this,51);}
  2198.     CShortProperty DropShadowWidth() {return CShortProperty(this,52);}
  2199.     CBoolProperty Enabled() {return CBoolProperty(this,19);}
  2200.     CBoolProperty FontBold() {return CBoolProperty(this,10);}
  2201.     CBoolProperty FontItalic() {return CBoolProperty(this,11);}
  2202.     CStringProperty FontName() {return CStringProperty(this,9);}
  2203.     CFloatProperty FontSize() {return CFloatProperty(this,14);}
  2204.     CBoolProperty FontStrikethru() {return CBoolProperty(this,12);}
  2205.     CBoolProperty FontUnderline() {return CBoolProperty(this,13);}
  2206.     CColorProperty ForeColor() {return CColorProperty(this,3);}
  2207.     CLongProperty Height() {return CLongProperty(this,7);}
  2208.     CBoolProperty HideSelection() {return CBoolProperty(this,70);}
  2209.     CShortProperty Hour() {return CShortProperty(this,112);}
  2210.     CShortProperty Index() {return CShortProperty(this,1);}
  2211.     CColorProperty InvalidColor() {return CColorProperty(this,72);}
  2212.     CEnumProperty InvalidOption() {return CEnumProperty(this,73);}
  2213.     CBoolProperty IsNull() {return CBoolProperty(this,74);}
  2214.     CBoolProperty IsValid() {return CBoolProperty(this,75);}
  2215.     CLongProperty Left() {return CLongProperty(this,4);}
  2216.     CStringProperty LongDayName(int i) {return CStringProperty(this,115,i);}
  2217.     CStringProperty LongMonthName(int i) {return CStringProperty(this,117,i);}
  2218.     CShortProperty MarginBottom() {return CShortProperty(this,79);}
  2219.     CShortProperty MarginLeft() {return CShortProperty(this,76);}
  2220.     CShortProperty MarginRight() {return CShortProperty(this,78);}
  2221.     CShortProperty MarginTop() {return CShortProperty(this,77);}
  2222.     CShortProperty Min() {return CShortProperty(this,113);}
  2223.     CShortProperty Month() {return CShortProperty(this,110);}
  2224.     CEnumProperty MousePointer() {return CEnumProperty(this,8);}
  2225.     CStringProperty Name() {return CStringProperty(this,0);}
  2226.     CEnumProperty NoSpecialKeys() {return CEnumProperty(this,61);}
  2227.     CColorProperty NullColor() {return CColorProperty(this,80);}
  2228.     CEnumProperty OnFocusAlignH() {return CEnumProperty(this,81);}
  2229.     CEnumProperty OnFocusAlignV() {return CEnumProperty(this,82);}
  2230.     CBoolProperty OnFocusInvert3D() {return CBoolProperty(this,49);}
  2231.     CBoolProperty OnFocusNoSelect() {return CBoolProperty(this,83);}
  2232.     CEnumProperty OnFocusPosition() {return CEnumProperty(this,84);}
  2233.     CBoolProperty OnFocusShadow() {return CBoolProperty(this,50);}
  2234.     CShortProperty Parent() {return CShortProperty(this,20);}
  2235.     CBoolProperty Redraw() {return CBoolProperty(this,104);}
  2236.     CShortProperty Sec() {return CShortProperty(this,114);}
  2237.     CLongProperty SelLength() {return CLongProperty(this,85);}
  2238.     CLongProperty SelStart() {return CLongProperty(this,86);}
  2239.     CStringProperty SelText() {return CStringProperty(this,87);}
  2240.     CStringProperty ShortDayName(int i) {return CStringProperty(this,116,i);}
  2241.     CStringProperty ShortMonthName(int i) {return CStringProperty(this,118,i);}
  2242.     CShortProperty TabIndex() {return CShortProperty(this,15);}
  2243.     CShortProperty TabStop() {return CShortProperty(this,16);}
  2244.     CStringProperty Tag() {return CStringProperty(this,21);}
  2245.     CStringProperty Text() {return CStringProperty(this,89);}
  2246.     CShortProperty ThreeDFrameWidth() {return CShortProperty(this,35);}
  2247.     CColorProperty ThreeDInsideHighlightColor() {return CColorProperty(this,28);}
  2248.     CColorProperty ThreeDInsideShadowColor() {return CColorProperty(this,29);}
  2249.     CEnumProperty ThreeDInsideStyle() {return CEnumProperty(this,27);}
  2250.     CShortProperty ThreeDInsideWidth() {return CShortProperty(this,30);}
  2251.     CColorProperty ThreeDOutsideHighlightColor() {return CColorProperty(this,32);}
  2252.     CColorProperty ThreeDOutsideShadowColor() {return CColorProperty(this,33);}
  2253.     CEnumProperty ThreeDOutsideStyle() {return CEnumProperty(this,31);}
  2254.     CShortProperty ThreeDOutsideWidth() {return CShortProperty(this,34);}
  2255.     CEnumProperty ThreeDText() {return CEnumProperty(this,53);}
  2256.     CColorProperty ThreeDTextHighlightColor() {return CColorProperty(this,54);}
  2257.     CShortProperty ThreeDTextOffset() {return CShortProperty(this,56);}
  2258.     CColorProperty ThreeDTextShadowColor() {return CColorProperty(this,55);}
  2259.     CStringProperty TimeDefault() {return CStringProperty(this,102);}
  2260.     CStringProperty TimeMax() {return CStringProperty(this,97);}
  2261.     CStringProperty TimeMin() {return CStringProperty(this,98);}
  2262.     CStringProperty TimeString1159() {return CStringProperty(this,99);}
  2263.     CStringProperty TimeString2359() {return CStringProperty(this,100);}
  2264.     CEnumProperty TimeStyle() {return CEnumProperty(this,103);}
  2265.     CStringProperty TimeValue() {return CStringProperty(this,108);}
  2266.     CLongProperty Top() {return CLongProperty(this,5);}
  2267.     CStringProperty UnFmtText() {return CStringProperty(this,95);}
  2268.     CStringProperty UserDefinedFormat() {return CStringProperty(this,92);}
  2269.     CEnumProperty UserEntry() {return CEnumProperty(this,69);}
  2270.     CStringProperty Value() {return CStringProperty(this,96);}
  2271.     CBoolProperty Visible() {return CBoolProperty(this,22);}
  2272.     CLongProperty Width() {return CLongProperty(this,6);}
  2273.     CShortProperty Year() {return CShortProperty(this,109);}
  2274.     CShortProperty hWnd() {return CShortProperty(this,71);}
  2275.  
  2276. };
  2277.  
  2278. #ifdef fpMFC
  2279.  
  2280. inline void AFXAPI
  2281. DDX_VBControl(CDataExchange* pDX, int nIDC, CAwareDateTime*& rpAwareDateTime)
  2282. {
  2283.   CVBControl* pControl = (CVBControl*)rpAwareDateTime;
  2284.   DDX_VBControl(pDX, nIDC, pControl);
  2285.   rpAwareDateTime = (CAwareDateTime*)pControl;
  2286. }
  2287. #endif
  2288.  
  2289. // AwareDateTime event indices
  2290. #define EVENT_DTM_ADVANCE 0
  2291. #define EVENT_DTM_BUTTONHIT 1
  2292. #define EVENT_DTM_CHANGE 2
  2293. #define EVENT_DTM_CHANGEMODE 3
  2294. #define EVENT_DTM_CLICK 4
  2295. #define EVENT_DTM_DBLCLICK 5
  2296. #define EVENT_DTM_GOTFOUCS 8
  2297. #define EVENT_DTM_INVALIDDATA 9
  2298. #define EVENT_DTM_KEYDOWN 10
  2299. #define EVENT_DTM_KEYPRESS 11
  2300. #define EVENT_DTM_KEYUP 12
  2301. #define EVENT_DTM_LOSTFOCUS 13
  2302. #define EVENT_DTM_MOUSEDOWN 14
  2303. #define EVENT_DTM_MOUSEMOVE 15
  2304. #define EVENT_DTM_MOUSEUP 16
  2305. #define EVENT_DTM_POPUP 17
  2306. #define EVENT_DTM_USERERROR 18
  2307.  
  2308. // AwareDateTime property indices
  2309. #define PROP_DTM_ABOUT 105
  2310. #define PROP_DTM_ACTION 57
  2311. #define PROP_DTM_ALIGNTEXTH 58
  2312. #define PROP_DTM_ALIGNTEXTV 59
  2313. #define PROP_DTM_ALLOWNULL 60
  2314. #define PROP_DTM_AUTOADVANCE 62
  2315. #define PROP_DTM_AUTOBEEP 63
  2316. #define PROP_DTM_BACKCOLOR 2
  2317. #define PROP_DTM_BORDERCOLOR 37
  2318. #define PROP_DTM_BORDERGRAYAREACOLOR 106
  2319. #define PROP_DTM_BORDERSTYLE 36
  2320. #define PROP_DTM_BORDERWIDTH 38
  2321. #define PROP_DTM_BUTTONDEFAULTACTION 39
  2322. #define PROP_DTM_BUTTONDISABLE 40
  2323. #define PROP_DTM_BUTTONHIDE 41
  2324. #define PROP_DTM_BUTTONINCREMENT 42
  2325. #define PROP_DTM_BUTTONINDEX 43
  2326. #define PROP_DTM_BUTTONMAX 45
  2327. #define PROP_DTM_BUTTONMIN 44
  2328. #define PROP_DTM_BUTTONSTYLE 46
  2329. #define PROP_DTM_BUTTONWIDTH 47
  2330. #define PROP_DTM_BUTTONWRAP 48
  2331. #define PROP_DTM_CARETINSERT 64
  2332. #define PROP_DTM_CARETOVERWRITE 65
  2333. #define PROP_DTM_CHARPOSITIONLEFT 66
  2334. #define PROP_DTM_CHARPOSITIONRIGHT 67
  2335. #define PROP_DTM_CONTROLTYPE 88
  2336. #define PROP_DTM_CURRENTPOSITION 68
  2337. #define PROP_DTM_DATECALCMETHOD 90
  2338. #define PROP_DTM_DATEDEFAULT 101
  2339. #define PROP_DTM_DATEMAX 93
  2340. #define PROP_DTM_DATEMIN 94
  2341. #define PROP_DTM_DATETIMEFORMAT 91
  2342. #define PROP_DTM_DATEVALUE 107
  2343. #define PROP_DTM_DAY 111
  2344. #define PROP_DTM_DROPSHADOWCOLOR 51
  2345. #define PROP_DTM_DROPSHADOWWIDTH 52
  2346. #define PROP_DTM_ENABLED 19
  2347. #define PROP_DTM_FONTBOLD 10
  2348. #define PROP_DTM_FONTITALIC 11
  2349. #define PROP_DTM_FONTNAME 9
  2350. #define PROP_DTM_FONTSIZE 14
  2351. #define PROP_DTM_FONTSTRIKETHRU 12
  2352. #define PROP_DTM_FONTUNDERLINE 13
  2353. #define PROP_DTM_FORECOLOR 3
  2354. #define PROP_DTM_HEIGHT 7
  2355. #define PROP_DTM_HIDESELECTION 70
  2356. #define PROP_DTM_HOUR 112
  2357. #define PROP_DTM_INDEX 1
  2358. #define PROP_DTM_INVALIDCOLOR 72
  2359. #define PROP_DTM_INVALIDOPTION 73
  2360. #define PROP_DTM_ISNULL 74
  2361. #define PROP_DTM_ISVALID 75
  2362. #define PROP_DTM_LEFT 4
  2363. #define PROP_DTM_LONGDAYNAME 115
  2364. #define PROP_DTM_LONGMONTHNAME 117
  2365. #define PROP_DTM_MARGINBOTTOM 79
  2366. #define PROP_DTM_MARGINLEFT 76
  2367. #define PROP_DTM_MARGINRIGHT 78
  2368. #define PROP_DTM_MARGINTOP 77
  2369. #define PROP_DTM_MIN 113
  2370. #define PROP_DTM_MONTH 110
  2371. #define PROP_DTM_MOUSEPOINTER 8
  2372. #define PROP_DTM_NAME 0
  2373. #define PROP_DTM_NOSPECIALKEYS 61
  2374. #define PROP_DTM_NULLCOLOR 80
  2375. #define PROP_DTM_ONFOCUSALIGNH 81
  2376. #define PROP_DTM_ONFOCUSALIGNV 82
  2377. #define PROP_DTM_ONFOCUSINVERT3D 49
  2378. #define PROP_DTM_ONFOCUSNOSELECT 83
  2379. #define PROP_DTM_ONFOCUSPOSITION 84
  2380. #define PROP_DTM_ONFOCUSSHADOW 50
  2381. #define PROP_DTM_PARENT 20
  2382. #define PROP_DTM_REDRAW 104
  2383. #define PROP_DTM_SEC 114
  2384. #define PROP_DTM_SELLENGTH 85
  2385. #define PROP_DTM_SELSTART 86
  2386. #define PROP_DTM_SELTEXT 87
  2387. #define PROP_DTM_SHORTDAYNAME 116
  2388. #define PROP_DTM_SHORTMONTHNAME 118
  2389. #define PROP_DTM_TABINDEX 15
  2390. #define PROP_DTM_TABSTOP 16
  2391. #define PROP_DTM_TAG 21
  2392. #define PROP_DTM_TEXT 89
  2393. #define PROP_DTM_THREEDFRAMEWIDTH 35
  2394. #define PROP_DTM_THREEDINSIDEHIGHLIGHTCOLOR 28
  2395. #define PROP_DTM_THREEDINSIDESHADOWCOLOR 29
  2396. #define PROP_DTM_THREEDINSIDESTYLE 27
  2397. #define PROP_DTM_THREEDINSIDEWIDTH 30
  2398. #define PROP_DTM_THREEDOUTSIDEHIGHLIGHTCOLOR 32
  2399. #define PROP_DTM_THREEDOUTSIDESHADOWCOLOR 33
  2400. #define PROP_DTM_THREEDOUTSIDESTYLE 31
  2401. #define PROP_DTM_THREEDOUTSIDEWIDTH 34
  2402. #define PROP_DTM_THREEDTEXT 53
  2403. #define PROP_DTM_THREEDTEXTHIGHLIGHTCOLOR 54
  2404. #define PROP_DTM_THREEDTEXTOFFSET 56
  2405. #define PROP_DTM_THREEDTEXTSHADOWCOLOR 55
  2406. #define PROP_DTM_TIMEDEFAULT 102
  2407. #define PROP_DTM_TIMEMAX 97
  2408. #define PROP_DTM_TIMEMIN 98
  2409. #define PROP_DTM_TIMESTRING1159 99
  2410. #define PROP_DTM_TIMESTRING2359 100
  2411. #define PROP_DTM_TIMESTYLE 103
  2412. #define PROP_DTM_TIMEVALUE 108
  2413. #define PROP_DTM_TOP 5
  2414. #define PROP_DTM_UNFMTTEXT 95
  2415. #define PROP_DTM_USERDEFINEDFORMAT 92
  2416. #define PROP_DTM_USERENTRY 69
  2417. #define PROP_DTM_VALUE 96
  2418. #define PROP_DTM_VISIBLE 22
  2419. #define PROP_DTM_WIDTH 6
  2420. #define PROP_DTM_YEAR 109
  2421. #define PROP_DTM_HWND 71
  2422.  
  2423. #ifdef fpMFC
  2424.  
  2425.  
  2426. // AwareDateTime event macros
  2427. #define DTM_ADVANCE_DIRECTION(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  2428. #define DTM_ADVANCE_AUTOADVANCE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  2429. #define DTM_BUTTONHIT_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  2430. #define DTM_BUTTONHIT_NEWINDEX(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  2431. #define DTM_CHANGEMODE_EDITMODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  2432. #define DTM_CLICK_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  2433. #define DTM_DBLCLICK_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  2434. #define DTM_INVALIDDATA_NEXTWND(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  2435. #define DTM_KEYDOWN_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,1)
  2436. #define DTM_KEYDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  2437. #define DTM_KEYPRESS_KEYASCII(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  2438. #define DTM_KEYUP_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  2439. #define DTM_KEYUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  2440. #define DTM_MOUSEDOWN_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  2441. #define DTM_MOUSEDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  2442. #define DTM_MOUSEDOWN_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  2443. #define DTM_MOUSEDOWN_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  2444. #define DTM_MOUSEMOVE_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  2445. #define DTM_MOUSEMOVE_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  2446. #define DTM_MOUSEMOVE_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  2447. #define DTM_MOUSEMOVE_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  2448. #define DTM_MOUSEUP_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  2449. #define DTM_MOUSEUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  2450. #define DTM_MOUSEUP_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  2451. #define DTM_MOUSEUP_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  2452. #define DTM_POPUP_CANCEL(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  2453. #define DTM_USERERROR_ERRORCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  2454. #define DTM_USERERROR_AUTOBEEP(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  2455.  
  2456. #elif fpOWL
  2457.  
  2458.  
  2459. // AwareDateTime event macros
  2460. #define DTM_ADVANCE_DIRECTION(event) VBX_EVENTARGNUM(event,int,0)
  2461. #define DTM_ADVANCE_AUTOADVANCE(event) VBX_EVENTARGNUM(event,int,1)
  2462. #define DTM_BUTTONHIT_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  2463. #define DTM_BUTTONHIT_NEWINDEX(event) VBX_EVENTARGNUM(event,int,1)
  2464. #define DTM_CHANGEMODE_EDITMODE(event) VBX_EVENTARGNUM(event,int,0)
  2465. #define DTM_CLICK_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  2466. #define DTM_DBLCLICK_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  2467. #define DTM_INVALIDDATA_NEXTWND(event) VBX_EVENTARGNUM(event,int,0)
  2468. #define DTM_KEYDOWN_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  2469. #define DTM_KEYDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  2470. #define DTM_KEYPRESS_KEYASCII(event) VBX_EVENTARGNUM(event,int,0)
  2471. #define DTM_KEYUP_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  2472. #define DTM_KEYUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  2473. #define DTM_MOUSEDOWN_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  2474. #define DTM_MOUSEDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  2475. #define DTM_MOUSEDOWN_X(event) VBX_EVENTARGNUM(event,float,2)
  2476. #define DTM_MOUSEDOWN_Y(event) VBX_EVENTARGNUM(event,float,3)
  2477. #define DTM_MOUSEMOVE_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  2478. #define DTM_MOUSEMOVE_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  2479. #define DTM_MOUSEMOVE_X(event) VBX_EVENTARGNUM(event,float,2)
  2480. #define DTM_MOUSEMOVE_Y(event) VBX_EVENTARGNUM(event,float,3)
  2481. #define DTM_MOUSEUP_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  2482. #define DTM_MOUSEUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  2483. #define DTM_MOUSEUP_X(event) VBX_EVENTARGNUM(event,float,2)
  2484. #define DTM_MOUSEUP_Y(event) VBX_EVENTARGNUM(event,float,3)
  2485. #define DTM_POPUP_CANCEL(event) VBX_EVENTARGNUM(event,int,0)
  2486. #define DTM_USERERROR_ERRORCODE(event) VBX_EVENTARGNUM(event,int,0)
  2487. #define DTM_USERERROR_AUTOBEEP(event) VBX_EVENTARGNUM(event,int,1)
  2488.  
  2489. #endif
  2490.  
  2491.  
  2492. // AwareDateTime property values
  2493. #define DTM_ACTION_COPY 0
  2494. #define DTM_ACTION_CUT 1
  2495. #define DTM_ACTION_PASTE 2
  2496. #define DTM_ACTION_CLEAR 3
  2497. #define DTM_ACTION_UNDO 4
  2498. #define DTM_ACTION_SET_NULL 5
  2499. #define DTM_ALIGNTEXTH_LEFT 0
  2500. #define DTM_ALIGNTEXTH_CENTER 1
  2501. #define DTM_ALIGNTEXTH_RIGHT 2
  2502. #define DTM_ALIGNTEXTV_TOP 0
  2503. #define DTM_ALIGNTEXTV_CENTER 1
  2504. #define DTM_ALIGNTEXTV_BOTTOM 2
  2505. #define DTM_BORDERSTYLE_NO_BORDER 0
  2506. #define DTM_BORDERSTYLE_SINGLE_LINE 1
  2507. #define DTM_BORDERSTYLE_ROUNDED 2
  2508. #define DTM_BORDERSTYLE_DASH 3
  2509. #define DTM_BORDERSTYLE_DOT 4
  2510. #define DTM_BORDERSTYLE_DASH_DOT 5
  2511. #define DTM_BORDERSTYLE_DASH_DOT_DOT 6
  2512. #define DTM_BUTTONSTYLE_NONE 0
  2513. #define DTM_BUTTONSTYLE_SPIN 1
  2514. #define DTM_BUTTONSTYLE_POP_UP 2
  2515. #define DTM_BUTTONSTYLE_DROP_DOWN 3
  2516. #define DTM_BUTTONSTYLE_SLIDE 4
  2517. #define DTM_CARETINSERT_SINGLE 0
  2518. #define DTM_CARETINSERT_DOUBLE 1
  2519. #define DTM_CARETINSERT_BLOCK 2
  2520. #define DTM_CARETINSERT_UNDERLINE 3
  2521. #define DTM_CARETINSERT_TRIANGLE 4
  2522. #define DTM_CARETOVERWRITE_SINGLE 0
  2523. #define DTM_CARETOVERWRITE_DOUBLE 1
  2524. #define DTM_CARETOVERWRITE_BLOCK 2
  2525. #define DTM_CARETOVERWRITE_UNDERLINE 3
  2526. #define DTM_CARETOVERWRITE_TRIANGLE 4
  2527. #define DTM_CONTROLTYPE_NORMAL 0
  2528. #define DTM_CONTROLTYPE_READ_ONLY 1
  2529. #define DTM_CONTROLTYPE_STATIC 2
  2530. #define DTM_DATECALCMETHOD_CURRENT_DATE_TIME 0
  2531. #define DTM_DATECALCMETHOD_USER_DEFINED_DATE_TIM 1
  2532. #define DTM_DATECALCMETHOD_50_50 2
  2533. #define DTM_DATECALCMETHOD_FUTURE 3
  2534. #define DTM_DATETIMEFORMAT_INTL_SHORT_DATE 0
  2535. #define DTM_DATETIMEFORMAT_INTL_LONG_DATE 1
  2536. #define DTM_DATETIMEFORMAT_INTL_SHORT_DATE_W_TIM 2
  2537. #define DTM_DATETIMEFORMAT_INTL_LONG_DATE_W_TIME 3
  2538. #define DTM_DATETIMEFORMAT_TIME_ONLY 4
  2539. #define DTM_DATETIMEFORMAT_USER_DEFINED 5
  2540. #define DTM_INVALIDOPTION_SHOW_DATA 0
  2541. #define DTM_INVALIDOPTION_HIDE_DATA 1
  2542. #define DTM_INVALIDOPTION_CLEAR_DATA 2
  2543. #define DTM_MOUSEPOINTER_DEFAULT 0
  2544. #define DTM_MOUSEPOINTER_ARROW 1
  2545. #define DTM_MOUSEPOINTER_CROSS 2
  2546. #define DTM_MOUSEPOINTER_I_BEAM 3
  2547. #define DTM_MOUSEPOINTER_ICON 4
  2548. #define DTM_MOUSEPOINTER_SIZE 5
  2549. #define DTM_MOUSEPOINTER_SIZE_NE_SW 6
  2550. #define DTM_MOUSEPOINTER_SIZE_N_S 7
  2551. #define DTM_MOUSEPOINTER_SIZE_NW_SE 8
  2552. #define DTM_MOUSEPOINTER_SIZE_W_E 9
  2553. #define DTM_MOUSEPOINTER_UP_ARROW 10
  2554. #define DTM_MOUSEPOINTER_HOURGLASS 11
  2555. #define DTM_MOUSEPOINTER_NO_DROP 12
  2556. #define DTM_NOSPECIALKEYS_ALL_KEYS_ENABLED 0
  2557. #define DTM_NOSPECIALKEYS_AWARE_KEYS_DISABLED 1
  2558. #define DTM_NOSPECIALKEYS_EDIT_KEYS_DISABLED 2
  2559. #define DTM_NOSPECIALKEYS_ALL_KEYS_DISABLED 3
  2560. #define DTM_ONFOCUSALIGNH_DEFAULT 0
  2561. #define DTM_ONFOCUSALIGNH_LEFT 1
  2562. #define DTM_ONFOCUSALIGNH_CENTER 2
  2563. #define DTM_ONFOCUSALIGNH_RIGHT 3
  2564. #define DTM_ONFOCUSALIGNV_DEFAULT 0
  2565. #define DTM_ONFOCUSALIGNV_TOP 1
  2566. #define DTM_ONFOCUSALIGNV_CENTER 2
  2567. #define DTM_ONFOCUSALIGNV_BOTTOM 3
  2568. #define DTM_ONFOCUSPOSITION_END 0
  2569. #define DTM_ONFOCUSPOSITION_BEGINNING 1
  2570. #define DTM_ONFOCUSPOSITION_PREVIOUS 2
  2571. #define DTM_ONFOCUSPOSITION_CARET 3
  2572. #define DTM_THREEDINSIDESTYLE_NONE 0
  2573. #define DTM_THREEDINSIDESTYLE_LOWERED 1
  2574. #define DTM_THREEDINSIDESTYLE_RAISED 2
  2575. #define DTM_THREEDOUTSIDESTYLE_NONE 0
  2576. #define DTM_THREEDOUTSIDESTYLE_LOWERED 1
  2577. #define DTM_THREEDOUTSIDESTYLE_RAISED 2
  2578. #define DTM_THREEDTEXT_NONE 0
  2579. #define DTM_THREEDTEXT_ETCHED 1
  2580. #define DTM_THREEDTEXT_EMBOSSED 2
  2581. #define DTM_THREEDTEXT_ETCHED_W_SHADING 3
  2582. #define DTM_THREEDTEXT_EMBOSSED_W_SHADING 4
  2583. #define DTM_TIMESTYLE_INTL 0
  2584. #define DTM_TIMESTYLE_12_HOUR 1
  2585. #define DTM_TIMESTYLE_24_HOUR 2
  2586. #define DTM_USERENTRY_FORMATTED 0
  2587. #define DTM_USERENTRY_FREE_FORMAT 1
  2588.  
  2589. // Class representing AwareBoolean control in AWAREBB.VBX file
  2590.  
  2591. class CAwareBoolean : public CVBControl
  2592. {
  2593.   public:
  2594.  
  2595. #ifdef fpMFC
  2596.  
  2597.     BOOL Create(DWORD dwStyle, const RECT& rect,
  2598.                 CWnd* pParentWnd, UINT nID,
  2599.                 CFile* pFile = NULL, BOOL bAutoDelete = FALSE)
  2600.     {
  2601.       return CVBControl::Create(
  2602.                "AWAREBB.VBX;AwareBoolean;",
  2603.                dwStyle, rect,
  2604.                pParentWnd, nID,
  2605.                pFile, bAutoDelete
  2606.              );
  2607.     }
  2608.  
  2609. #elif fpOWL
  2610.  
  2611.     CAwareBoolean(TWindow* parent, int id,
  2612.         const char far* title,
  2613.         int x, int y, int w, int h,
  2614.         long initLen = 0, void far* initData = 0,
  2615.         TModule* module = 0)
  2616.     : CVBControl(parent, id, "AWAREBB.VBX", "AwareBoolean",
  2617.           title, x, y, w, h, initLen, initData, module) {};
  2618.  
  2619.     CAwareBoolean(TWindow* parent, int resourceId, TModule* module = 0)
  2620.     : CVBControl(parent, resourceId, module) {};
  2621.  
  2622. #endif
  2623.  
  2624.     CStringProperty About() {return CStringProperty(this,79);}
  2625.     CEnumProperty AlignPictureH() {return CEnumProperty(this,53);}
  2626.     CEnumProperty AlignPictureV() {return CEnumProperty(this,54);}
  2627.     CEnumProperty AlignTextH() {return CEnumProperty(this,64);}
  2628.     CEnumProperty AlignTextV() {return CEnumProperty(this,65);}
  2629.     CBoolProperty AutoToggle() {return CBoolProperty(this,43);}
  2630.     CColorProperty BackColor() {return CColorProperty(this,2);}
  2631.     CEnumProperty BooleanMode() {return CEnumProperty(this,71);}
  2632.     CEnumProperty BooleanPicture() {return CEnumProperty(this,52);}
  2633.     CEnumProperty BooleanStyle() {return CEnumProperty(this,44);}
  2634.     CColorProperty BorderColor() {return CColorProperty(this,37);}
  2635.     CColorProperty BorderGrayAreaColor() {return CColorProperty(this,80);}
  2636.     CEnumProperty BorderStyle() {return CEnumProperty(this,36);}
  2637.     CShortProperty BorderWidth() {return CShortProperty(this,38);}
  2638.     CStringProperty Caption() {return CStringProperty(this,72);}
  2639.     CColorProperty DropShadowColor() {return CColorProperty(this,41);}
  2640.     CShortProperty DropShadowWidth() {return CShortProperty(this,42);}
  2641.     CBoolProperty Enabled() {return CBoolProperty(this,19);}
  2642.     CBoolProperty FontBold() {return CBoolProperty(this,10);}
  2643.     CBoolProperty FontItalic() {return CBoolProperty(this,11);}
  2644.     CStringProperty FontName() {return CStringProperty(this,9);}
  2645.     CFloatProperty FontSize() {return CFloatProperty(this,14);}
  2646.     CBoolProperty FontStrikethru() {return CBoolProperty(this,12);}
  2647.     CBoolProperty FontUnderline() {return CBoolProperty(this,13);}
  2648.     CColorProperty ForeColor() {return CColorProperty(this,3);}
  2649.     CLongProperty GroupId() {return CLongProperty(this,55);}
  2650.     CEnumProperty GroupSelect() {return CEnumProperty(this,57);}
  2651.     CLongProperty GroupTag() {return CLongProperty(this,56);}
  2652.     CLongProperty GroupValue() {return CLongProperty(this,81);}
  2653.     CLongProperty Height() {return CLongProperty(this,7);}
  2654.     CShortProperty Index() {return CShortProperty(this,1);}
  2655.     CLongProperty Left() {return CLongProperty(this,4);}
  2656.     CShortProperty MarginBottom() {return CShortProperty(this,61);}
  2657.     CShortProperty MarginLeft() {return CShortProperty(this,58);}
  2658.     CShortProperty MarginRight() {return CShortProperty(this,60);}
  2659.     CShortProperty MarginTop() {return CShortProperty(this,59);}
  2660.     CEnumProperty MousePointer() {return CEnumProperty(this,8);}
  2661.     CBoolProperty MultiLine() {return CBoolProperty(this,62);}
  2662.     CStringProperty Name() {return CStringProperty(this,0);}
  2663.     CBoolProperty OnFocusInvert3D() {return CBoolProperty(this,39);}
  2664.     CBoolProperty OnFocusShadow() {return CBoolProperty(this,40);}
  2665.     CShortProperty Parent() {return CShortProperty(this,20);}
  2666.     CPictureProperty PictureFalse() {return CPictureProperty(this,49);}
  2667.     CPictureProperty PictureFalseDisabled() {return CPictureProperty(this,46);}
  2668.     CPictureProperty PictureFalseDown() {return CPictureProperty(this,48);}
  2669.     CPictureProperty PictureTrue() {return CPictureProperty(this,67);}
  2670.     CPictureProperty PictureTrueDisabled() {return CPictureProperty(this,45);}
  2671.     CPictureProperty PictureTrueDown() {return CPictureProperty(this,66);}
  2672.     CBoolProperty Redraw() {return CBoolProperty(this,78);}
  2673.     CShortProperty TabIndex() {return CShortProperty(this,15);}
  2674.     CShortProperty TabStop() {return CShortProperty(this,16);}
  2675.     CStringProperty Tag() {return CStringProperty(this,21);}
  2676.     CStringProperty Text() {return CStringProperty(this,63);}
  2677.     CStringProperty TextDisabled() {return CStringProperty(this,47);}
  2678.     CStringProperty TextFalse() {return CStringProperty(this,51);}
  2679.     CStringProperty TextTrue() {return CStringProperty(this,69);}
  2680.     CShortProperty ThreeDFrameWidth() {return CShortProperty(this,35);}
  2681.     CColorProperty ThreeDInsideHighlightColor() {return CColorProperty(this,28);}
  2682.     CColorProperty ThreeDInsideShadowColor() {return CColorProperty(this,29);}
  2683.     CEnumProperty ThreeDInsideStyle() {return CEnumProperty(this,27);}
  2684.     CShortProperty ThreeDInsideWidth() {return CShortProperty(this,30);}
  2685.     CColorProperty ThreeDOutsideHighlightColor() {return CColorProperty(this,32);}
  2686.     CColorProperty ThreeDOutsideShadowColor() {return CColorProperty(this,33);}
  2687.     CEnumProperty ThreeDOutsideStyle() {return CEnumProperty(this,31);}
  2688.     CShortProperty ThreeDOutsideWidth() {return CShortProperty(this,34);}
  2689.     CEnumProperty ThreeDText() {return CEnumProperty(this,73);}
  2690.     CColorProperty ThreeDTextHighlightColor() {return CColorProperty(this,74);}
  2691.     CShortProperty ThreeDTextOffset() {return CShortProperty(this,76);}
  2692.     CColorProperty ThreeDTextShadowColor() {return CColorProperty(this,75);}
  2693.     CStringProperty ToggleFalse() {return CStringProperty(this,50);}
  2694.     CStringProperty ToggleTrue() {return CStringProperty(this,68);}
  2695.     CLongProperty Top() {return CLongProperty(this,5);}
  2696.     CEnumProperty Value() {return CEnumProperty(this,70);}
  2697.     CBoolProperty Visible() {return CBoolProperty(this,22);}
  2698.     CLongProperty Width() {return CLongProperty(this,6);}
  2699.     CShortProperty hWnd() {return CShortProperty(this,77);}
  2700.  
  2701. };
  2702.  
  2703. #ifdef fpMFC
  2704.  
  2705. inline void AFXAPI
  2706. DDX_VBControl(CDataExchange* pDX, int nIDC, CAwareBoolean*& rpAwareBoolean)
  2707. {
  2708.   CVBControl* pControl = (CVBControl*)rpAwareBoolean;
  2709.   DDX_VBControl(pDX, nIDC, pControl);
  2710.   rpAwareBoolean = (CAwareBoolean*)pControl;
  2711. }
  2712. #endif
  2713.  
  2714. // AwareBoolean event indices
  2715. #define EVENT_BLN_ADVANCE 0
  2716. #define EVENT_BLN_CHANGE 1
  2717. #define EVENT_BLN_CLICK 2
  2718. #define EVENT_BLN_DBLCLICK 3
  2719. #define EVENT_BLN_GOTFOUCS 6
  2720. #define EVENT_BLN_KEYDOWN 7
  2721. #define EVENT_BLN_KEYPRESS 8
  2722. #define EVENT_BLN_KEYUP 9
  2723. #define EVENT_BLN_LOSTFOCUS 10
  2724. #define EVENT_BLN_MOUSEDOWN 11
  2725. #define EVENT_BLN_MOUSEMOVE 12
  2726. #define EVENT_BLN_MOUSEUP 13
  2727. #define EVENT_BLN_USERERROR 14
  2728.  
  2729. // AwareBoolean property indices
  2730. #define PROP_BLN_ABOUT 79
  2731. #define PROP_BLN_ALIGNPICTUREH 53
  2732. #define PROP_BLN_ALIGNPICTUREV 54
  2733. #define PROP_BLN_ALIGNTEXTH 64
  2734. #define PROP_BLN_ALIGNTEXTV 65
  2735. #define PROP_BLN_AUTOTOGGLE 43
  2736. #define PROP_BLN_BACKCOLOR 2
  2737. #define PROP_BLN_BOOLEANMODE 71
  2738. #define PROP_BLN_BOOLEANPICTURE 52
  2739. #define PROP_BLN_BOOLEANSTYLE 44
  2740. #define PROP_BLN_BORDERCOLOR 37
  2741. #define PROP_BLN_BORDERGRAYAREACOLOR 80
  2742. #define PROP_BLN_BORDERSTYLE 36
  2743. #define PROP_BLN_BORDERWIDTH 38
  2744. #define PROP_BLN_CAPTION 72
  2745. #define PROP_BLN_DROPSHADOWCOLOR 41
  2746. #define PROP_BLN_DROPSHADOWWIDTH 42
  2747. #define PROP_BLN_ENABLED 19
  2748. #define PROP_BLN_FONTBOLD 10
  2749. #define PROP_BLN_FONTITALIC 11
  2750. #define PROP_BLN_FONTNAME 9
  2751. #define PROP_BLN_FONTSIZE 14
  2752. #define PROP_BLN_FONTSTRIKETHRU 12
  2753. #define PROP_BLN_FONTUNDERLINE 13
  2754. #define PROP_BLN_FORECOLOR 3
  2755. #define PROP_BLN_GROUPID 55
  2756. #define PROP_BLN_GROUPSELECT 57
  2757. #define PROP_BLN_GROUPTAG 56
  2758. #define PROP_BLN_GROUPVALUE 81
  2759. #define PROP_BLN_HEIGHT 7
  2760. #define PROP_BLN_INDEX 1
  2761. #define PROP_BLN_LEFT 4
  2762. #define PROP_BLN_MARGINBOTTOM 61
  2763. #define PROP_BLN_MARGINLEFT 58
  2764. #define PROP_BLN_MARGINRIGHT 60
  2765. #define PROP_BLN_MARGINTOP 59
  2766. #define PROP_BLN_MOUSEPOINTER 8
  2767. #define PROP_BLN_MULTILINE 62
  2768. #define PROP_BLN_NAME 0
  2769. #define PROP_BLN_ONFOCUSINVERT3D 39
  2770. #define PROP_BLN_ONFOCUSSHADOW 40
  2771. #define PROP_BLN_PARENT 20
  2772. #define PROP_BLN_PICTUREFALSE 49
  2773. #define PROP_BLN_PICTUREFALSEDISABLED 46
  2774. #define PROP_BLN_PICTUREFALSEDOWN 48
  2775. #define PROP_BLN_PICTURETRUE 67
  2776. #define PROP_BLN_PICTURETRUEDISABLED 45
  2777. #define PROP_BLN_PICTURETRUEDOWN 66
  2778. #define PROP_BLN_REDRAW 78
  2779. #define PROP_BLN_TABINDEX 15
  2780. #define PROP_BLN_TABSTOP 16
  2781. #define PROP_BLN_TAG 21
  2782. #define PROP_BLN_TEXT 63
  2783. #define PROP_BLN_TEXTDISABLED 47
  2784. #define PROP_BLN_TEXTFALSE 51
  2785. #define PROP_BLN_TEXTTRUE 69
  2786. #define PROP_BLN_THREEDFRAMEWIDTH 35
  2787. #define PROP_BLN_THREEDINSIDEHIGHLIGHTCOLOR 28
  2788. #define PROP_BLN_THREEDINSIDESHADOWCOLOR 29
  2789. #define PROP_BLN_THREEDINSIDESTYLE 27
  2790. #define PROP_BLN_THREEDINSIDEWIDTH 30
  2791. #define PROP_BLN_THREEDOUTSIDEHIGHLIGHTCOLOR 32
  2792. #define PROP_BLN_THREEDOUTSIDESHADOWCOLOR 33
  2793. #define PROP_BLN_THREEDOUTSIDESTYLE 31
  2794. #define PROP_BLN_THREEDOUTSIDEWIDTH 34
  2795. #define PROP_BLN_THREEDTEXT 73
  2796. #define PROP_BLN_THREEDTEXTHIGHLIGHTCOLOR 74
  2797. #define PROP_BLN_THREEDTEXTOFFSET 76
  2798. #define PROP_BLN_THREEDTEXTSHADOWCOLOR 75
  2799. #define PROP_BLN_TOGGLEFALSE 50
  2800. #define PROP_BLN_TOGGLETRUE 68
  2801. #define PROP_BLN_TOP 5
  2802. #define PROP_BLN_VALUE 70
  2803. #define PROP_BLN_VISIBLE 22
  2804. #define PROP_BLN_WIDTH 6
  2805. #define PROP_BLN_HWND 77
  2806.  
  2807. #ifdef fpMFC
  2808.  
  2809.  
  2810. // AwareBoolean event macros
  2811. #define BLN_ADVANCE_DIRECTION(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  2812. #define BLN_ADVANCE_AUTOADVANCE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  2813. #define BLN_CLICK_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  2814. #define BLN_DBLCLICK_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  2815. #define BLN_KEYDOWN_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  2816. #define BLN_KEYDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  2817. #define BLN_KEYPRESS_KEYASCII(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  2818. #define BLN_KEYUP_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  2819. #define BLN_KEYUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  2820. #define BLN_MOUSEDOWN_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  2821. #define BLN_MOUSEDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  2822. #define BLN_MOUSEDOWN_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  2823. #define BLN_MOUSEDOWN_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  2824. #define BLN_MOUSEMOVE_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  2825. #define BLN_MOUSEMOVE_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  2826. #define BLN_MOUSEMOVE_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  2827. #define BLN_MOUSEMOVE_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  2828. #define BLN_MOUSEUP_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  2829. #define BLN_MOUSEUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  2830. #define BLN_MOUSEUP_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  2831. #define BLN_MOUSEUP_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  2832. #define BLN_USERERROR_ERRORCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  2833. #define BLN_USERERROR_AUTOBEEP(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  2834.  
  2835. #elif fpOWL
  2836.  
  2837.  
  2838. // AwareBoolean event macros
  2839. #define BLN_ADVANCE_DIRECTION(event) VBX_EVENTARGNUM(event,int,0)
  2840. #define BLN_ADVANCE_AUTOADVANCE(event) VBX_EVENTARGNUM(event,int,1)
  2841. #define BLN_CLICK_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  2842. #define BLN_DBLCLICK_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  2843. #define BLN_KEYDOWN_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  2844. #define BLN_KEYDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  2845. #define BLN_KEYPRESS_KEYASCII(event) VBX_EVENTARGNUM(event,int,0)
  2846. #define BLN_KEYUP_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  2847. #define BLN_KEYUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  2848. #define BLN_MOUSEDOWN_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  2849. #define BLN_MOUSEDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  2850. #define BLN_MOUSEDOWN_X(event) VBX_EVENTARGNUM(event,float,2)
  2851. #define BLN_MOUSEDOWN_Y(event) VBX_EVENTARGNUM(event,float,3)
  2852. #define BLN_MOUSEMOVE_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  2853. #define BLN_MOUSEMOVE_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  2854. #define BLN_MOUSEMOVE_X(event) VBX_EVENTARGNUM(event,float,2)
  2855. #define BLN_MOUSEMOVE_Y(event) VBX_EVENTARGNUM(event,float,3)
  2856. #define BLN_MOUSEUP_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  2857. #define BLN_MOUSEUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  2858. #define BLN_MOUSEUP_X(event) VBX_EVENTARGNUM(event,float,2)
  2859. #define BLN_MOUSEUP_Y(event) VBX_EVENTARGNUM(event,float,3)
  2860. #define BLN_USERERROR_ERRORCODE(event) VBX_EVENTARGNUM(event,int,0)
  2861. #define BLN_USERERROR_AUTOBEEP(event) VBX_EVENTARGNUM(event,int,1)
  2862.  
  2863. #endif
  2864.  
  2865.  
  2866. // AwareBoolean property values
  2867. #define BLN_ALIGNPICTUREH_LEFT 0
  2868. #define BLN_ALIGNPICTUREH_CENTER 1
  2869. #define BLN_ALIGNPICTUREH_RIGHT 2
  2870. #define BLN_ALIGNPICTUREH_LEFT_OF_TEXT 3
  2871. #define BLN_ALIGNPICTUREH_RIGHT_OF_TEXT 4
  2872. #define BLN_ALIGNPICTUREV_TOP 0
  2873. #define BLN_ALIGNPICTUREV_CENTER 1
  2874. #define BLN_ALIGNPICTUREV_BOTTOM 2
  2875. #define BLN_ALIGNTEXTH_LEFT 0
  2876. #define BLN_ALIGNTEXTH_CENTER 1
  2877. #define BLN_ALIGNTEXTH_RIGHT 2
  2878. #define BLN_ALIGNTEXTV_TOP 0
  2879. #define BLN_ALIGNTEXTV_CENTER 1
  2880. #define BLN_ALIGNTEXTV_BOTTOM 2
  2881. #define BLN_BOOLEANMODE_2_STATE 0
  2882. #define BLN_BOOLEANMODE_3_STATE 1
  2883. #define BLN_BOOLEANMODE_BUTTON_LIKE 2
  2884. #define BLN_BOOLEANPICTURE_CHECK_BOX 0
  2885. #define BLN_BOOLEANPICTURE_OPTION_BUTTON 1
  2886. #define BLN_BOOLEANPICTURE_3D_CHECK_BOX 2
  2887. #define BLN_BOOLEANPICTURE_3D_OPTION_BUTTON 3
  2888. #define BLN_BOOLEANPICTURE_USER_DEFINED 4
  2889. #define BLN_BOOLEANSTYLE_TEXT_W_BITMAP 0
  2890. #define BLN_BOOLEANSTYLE_TEXT_ONLY 1
  2891. #define BLN_BOOLEANSTYLE_BITMAP_ONLY 2
  2892. #define BLN_BORDERSTYLE_NO_BORDER 0
  2893. #define BLN_BORDERSTYLE_SINGLE_LINE 1
  2894. #define BLN_BORDERSTYLE_ROUNDED 2
  2895. #define BLN_BORDERSTYLE_DASH 3
  2896. #define BLN_BORDERSTYLE_DOT 4
  2897. #define BLN_BORDERSTYLE_DASH_DOT 5
  2898. #define BLN_BORDERSTYLE_DASH_DOT_DOT 6
  2899. #define BLN_GROUPSELECT_NO_RULE 0
  2900. #define BLN_GROUPSELECT_ANY_COMBINATION 1
  2901. #define BLN_GROUPSELECT_NO_MORE_THAN_ONE 2
  2902. #define BLN_GROUPSELECT_ONE_AND_ONLY_ONE 3
  2903. #define BLN_GROUPSELECT_ONE_OR_MORE 4
  2904. #define BLN_MOUSEPOINTER_DEFAULT 0
  2905. #define BLN_MOUSEPOINTER_ARROW 1
  2906. #define BLN_MOUSEPOINTER_CROSS 2
  2907. #define BLN_MOUSEPOINTER_I_BEAM 3
  2908. #define BLN_MOUSEPOINTER_ICON 4
  2909. #define BLN_MOUSEPOINTER_SIZE 5
  2910. #define BLN_MOUSEPOINTER_SIZE_NE_SW 6
  2911. #define BLN_MOUSEPOINTER_SIZE_N_S 7
  2912. #define BLN_MOUSEPOINTER_SIZE_NW_SE 8
  2913. #define BLN_MOUSEPOINTER_SIZE_W_E 9
  2914. #define BLN_MOUSEPOINTER_UP_ARROW 10
  2915. #define BLN_MOUSEPOINTER_HOURGLASS 11
  2916. #define BLN_MOUSEPOINTER_NO_DROP 12
  2917. #define BLN_THREEDINSIDESTYLE_NONE 0
  2918. #define BLN_THREEDINSIDESTYLE_LOWERED 1
  2919. #define BLN_THREEDINSIDESTYLE_RAISED 2
  2920. #define BLN_THREEDOUTSIDESTYLE_NONE 0
  2921. #define BLN_THREEDOUTSIDESTYLE_LOWERED 1
  2922. #define BLN_THREEDOUTSIDESTYLE_RAISED 2
  2923. #define BLN_THREEDTEXT_NONE 0
  2924. #define BLN_THREEDTEXT_ETCHED 1
  2925. #define BLN_THREEDTEXT_EMBOSSED 2
  2926. #define BLN_THREEDTEXT_ETCHED_W_SHADING 3
  2927. #define BLN_THREEDTEXT_EMBOSSED_W_SHADING 4
  2928. #define BLN_VALUE_FALSE 0
  2929. #define BLN_VALUE_TRUE 1
  2930. #define BLN_VALUE_DISABLED 2
  2931.  
  2932. // Class representing AwareBinary control in AWAREBB.VBX file
  2933.  
  2934. class CAwareBinary : public CVBControl
  2935. {
  2936.   public:
  2937.  
  2938. #ifdef fpMFC
  2939.  
  2940.     BOOL Create(DWORD dwStyle, const RECT& rect,
  2941.                 CWnd* pParentWnd, UINT nID,
  2942.                 CFile* pFile = NULL, BOOL bAutoDelete = FALSE)
  2943.     {
  2944.       return CVBControl::Create(
  2945.                "AWAREBB.VBX;AwareBinary;",
  2946.                dwStyle, rect,
  2947.                pParentWnd, nID,
  2948.                pFile, bAutoDelete
  2949.              );
  2950.     }
  2951.  
  2952. #elif fpOWL
  2953.  
  2954.     CAwareBinary(TWindow* parent, int id,
  2955.         const char far* title,
  2956.         int x, int y, int w, int h,
  2957.         long initLen = 0, void far* initData = 0,
  2958.         TModule* module = 0)
  2959.     : CVBControl(parent, id, "AWAREBB.VBX", "AwareBinary",
  2960.           title, x, y, w, h, initLen, initData, module) {};
  2961.  
  2962.     CAwareBinary(TWindow* parent, int resourceId, TModule* module = 0)
  2963.     : CVBControl(parent, resourceId, module) {};
  2964.  
  2965. #endif
  2966.  
  2967.     CStringProperty About() {return CStringProperty(this,47);}
  2968.     CColorProperty BackColor() {return CColorProperty(this,2);}
  2969.     CEnumProperty BinaryStyle() {return CEnumProperty(this,43);}
  2970.     CColorProperty BorderColor() {return CColorProperty(this,36);}
  2971.     CColorProperty BorderGrayAreaColor() {return CColorProperty(this,48);}
  2972.     CEnumProperty BorderStyle() {return CEnumProperty(this,35);}
  2973.     CShortProperty BorderWidth() {return CShortProperty(this,37);}
  2974.     CColorProperty DropShadowColor() {return CColorProperty(this,40);}
  2975.     CShortProperty DropShadowWidth() {return CShortProperty(this,41);}
  2976.     CBoolProperty Enabled() {return CBoolProperty(this,18);}
  2977.     CBoolProperty FontBold() {return CBoolProperty(this,9);}
  2978.     CBoolProperty FontItalic() {return CBoolProperty(this,10);}
  2979.     CStringProperty FontName() {return CStringProperty(this,8);}
  2980.     CFloatProperty FontSize() {return CFloatProperty(this,13);}
  2981.     CBoolProperty FontStrikethru() {return CBoolProperty(this,11);}
  2982.     CBoolProperty FontUnderline() {return CBoolProperty(this,12);}
  2983.     CLongProperty Height() {return CLongProperty(this,6);}
  2984.     CShortProperty Index() {return CShortProperty(this,1);}
  2985.     CLongProperty Left() {return CLongProperty(this,3);}
  2986.     CEnumProperty MousePointer() {return CEnumProperty(this,7);}
  2987.     CStringProperty Name() {return CStringProperty(this,0);}
  2988.     CBoolProperty OnFocusInvert3D() {return CBoolProperty(this,38);}
  2989.     CBoolProperty OnFocusShadow() {return CBoolProperty(this,39);}
  2990.     CShortProperty Parent() {return CShortProperty(this,19);}
  2991.     CPictureProperty Picture() {return CPictureProperty(this,44);}
  2992.     CBoolProperty Redraw() {return CBoolProperty(this,46);}
  2993.     CBoolProperty ScrollBars() {return CBoolProperty(this,42);}
  2994.     CShortProperty TabIndex() {return CShortProperty(this,14);}
  2995.     CShortProperty TabStop() {return CShortProperty(this,15);}
  2996.     CStringProperty Tag() {return CStringProperty(this,20);}
  2997.     CShortProperty ThreeDFrameWidth() {return CShortProperty(this,34);}
  2998.     CColorProperty ThreeDInsideHighlightColor() {return CColorProperty(this,27);}
  2999.     CColorProperty ThreeDInsideShadowColor() {return CColorProperty(this,28);}
  3000.     CEnumProperty ThreeDInsideStyle() {return CEnumProperty(this,26);}
  3001.     CShortProperty ThreeDInsideWidth() {return CShortProperty(this,29);}
  3002.     CColorProperty ThreeDOutsideHighlightColor() {return CColorProperty(this,31);}
  3003.     CColorProperty ThreeDOutsideShadowColor() {return CColorProperty(this,32);}
  3004.     CEnumProperty ThreeDOutsideStyle() {return CEnumProperty(this,30);}
  3005.     CShortProperty ThreeDOutsideWidth() {return CShortProperty(this,33);}
  3006.     CLongProperty Top() {return CLongProperty(this,4);}
  3007.     CBoolProperty Visible() {return CBoolProperty(this,21);}
  3008.     CLongProperty Width() {return CLongProperty(this,5);}
  3009.     CShortProperty hWnd() {return CShortProperty(this,45);}
  3010.  
  3011. };
  3012.  
  3013. #ifdef fpMFC
  3014.  
  3015. inline void AFXAPI
  3016. DDX_VBControl(CDataExchange* pDX, int nIDC, CAwareBinary*& rpAwareBinary)
  3017. {
  3018.   CVBControl* pControl = (CVBControl*)rpAwareBinary;
  3019.   DDX_VBControl(pDX, nIDC, pControl);
  3020.   rpAwareBinary = (CAwareBinary*)pControl;
  3021. }
  3022. #endif
  3023.  
  3024. // AwareBinary event indices
  3025. #define EVENT_BIN_ADVANCE 0
  3026. #define EVENT_BIN_CHANGE 1
  3027. #define EVENT_BIN_CLICK 2
  3028. #define EVENT_BIN_DBLCLICK 3
  3029. #define EVENT_BIN_GOTFOUCS 6
  3030. #define EVENT_BIN_KEYDOWN 7
  3031. #define EVENT_BIN_KEYPRESS 8
  3032. #define EVENT_BIN_KEYUP 9
  3033. #define EVENT_BIN_LOSTFOCUS 10
  3034. #define EVENT_BIN_MOUSEDOWN 11
  3035. #define EVENT_BIN_MOUSEMOVE 12
  3036. #define EVENT_BIN_MOUSEUP 13
  3037.  
  3038. // AwareBinary property indices
  3039. #define PROP_BIN_ABOUT 47
  3040. #define PROP_BIN_BACKCOLOR 2
  3041. #define PROP_BIN_BINARYSTYLE 43
  3042. #define PROP_BIN_BORDERCOLOR 36
  3043. #define PROP_BIN_BORDERGRAYAREACOLOR 48
  3044. #define PROP_BIN_BORDERSTYLE 35
  3045. #define PROP_BIN_BORDERWIDTH 37
  3046. #define PROP_BIN_DROPSHADOWCOLOR 40
  3047. #define PROP_BIN_DROPSHADOWWIDTH 41
  3048. #define PROP_BIN_ENABLED 18
  3049. #define PROP_BIN_FONTBOLD 9
  3050. #define PROP_BIN_FONTITALIC 10
  3051. #define PROP_BIN_FONTNAME 8
  3052. #define PROP_BIN_FONTSIZE 13
  3053. #define PROP_BIN_FONTSTRIKETHRU 11
  3054. #define PROP_BIN_FONTUNDERLINE 12
  3055. #define PROP_BIN_HEIGHT 6
  3056. #define PROP_BIN_INDEX 1
  3057. #define PROP_BIN_LEFT 3
  3058. #define PROP_BIN_MOUSEPOINTER 7
  3059. #define PROP_BIN_NAME 0
  3060. #define PROP_BIN_ONFOCUSINVERT3D 38
  3061. #define PROP_BIN_ONFOCUSSHADOW 39
  3062. #define PROP_BIN_PARENT 19
  3063. #define PROP_BIN_PICTURE 44
  3064. #define PROP_BIN_REDRAW 46
  3065. #define PROP_BIN_SCROLLBARS 42
  3066. #define PROP_BIN_TABINDEX 14
  3067. #define PROP_BIN_TABSTOP 15
  3068. #define PROP_BIN_TAG 20
  3069. #define PROP_BIN_THREEDFRAMEWIDTH 34
  3070. #define PROP_BIN_THREEDINSIDEHIGHLIGHTCOLOR 27
  3071. #define PROP_BIN_THREEDINSIDESHADOWCOLOR 28
  3072. #define PROP_BIN_THREEDINSIDESTYLE 26
  3073. #define PROP_BIN_THREEDINSIDEWIDTH 29
  3074. #define PROP_BIN_THREEDOUTSIDEHIGHLIGHTCOLOR 31
  3075. #define PROP_BIN_THREEDOUTSIDESHADOWCOLOR 32
  3076. #define PROP_BIN_THREEDOUTSIDESTYLE 30
  3077. #define PROP_BIN_THREEDOUTSIDEWIDTH 33
  3078. #define PROP_BIN_TOP 4
  3079. #define PROP_BIN_VISIBLE 21
  3080. #define PROP_BIN_WIDTH 5
  3081. #define PROP_BIN_HWND 45
  3082.  
  3083. #ifdef fpMFC
  3084.  
  3085.  
  3086. // AwareBinary event macros
  3087. #define BIN_ADVANCE_DIRECTION(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  3088. #define BIN_ADVANCE_AUTOADVANCE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  3089. #define BIN_CLICK_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  3090. #define BIN_DBLCLICK_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  3091. #define BIN_KEYDOWN_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  3092. #define BIN_KEYDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  3093. #define BIN_KEYPRESS_KEYASCII(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  3094. #define BIN_KEYUP_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  3095. #define BIN_KEYUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  3096. #define BIN_MOUSEDOWN_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  3097. #define BIN_MOUSEDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  3098. #define BIN_MOUSEDOWN_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  3099. #define BIN_MOUSEDOWN_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  3100. #define BIN_MOUSEMOVE_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  3101. #define BIN_MOUSEMOVE_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  3102. #define BIN_MOUSEMOVE_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  3103. #define BIN_MOUSEMOVE_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  3104. #define BIN_MOUSEUP_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  3105. #define BIN_MOUSEUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  3106. #define BIN_MOUSEUP_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  3107. #define BIN_MOUSEUP_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  3108.  
  3109. #elif fpOWL
  3110.  
  3111.  
  3112. // AwareBinary event macros
  3113. #define BIN_ADVANCE_DIRECTION(event) VBX_EVENTARGNUM(event,int,0)
  3114. #define BIN_ADVANCE_AUTOADVANCE(event) VBX_EVENTARGNUM(event,int,1)
  3115. #define BIN_CLICK_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  3116. #define BIN_DBLCLICK_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  3117. #define BIN_KEYDOWN_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  3118. #define BIN_KEYDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  3119. #define BIN_KEYPRESS_KEYASCII(event) VBX_EVENTARGNUM(event,int,0)
  3120. #define BIN_KEYUP_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  3121. #define BIN_KEYUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  3122. #define BIN_MOUSEDOWN_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  3123. #define BIN_MOUSEDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  3124. #define BIN_MOUSEDOWN_X(event) VBX_EVENTARGNUM(event,float,2)
  3125. #define BIN_MOUSEDOWN_Y(event) VBX_EVENTARGNUM(event,float,3)
  3126. #define BIN_MOUSEMOVE_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  3127. #define BIN_MOUSEMOVE_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  3128. #define BIN_MOUSEMOVE_X(event) VBX_EVENTARGNUM(event,float,2)
  3129. #define BIN_MOUSEMOVE_Y(event) VBX_EVENTARGNUM(event,float,3)
  3130. #define BIN_MOUSEUP_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  3131. #define BIN_MOUSEUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  3132. #define BIN_MOUSEUP_X(event) VBX_EVENTARGNUM(event,float,2)
  3133. #define BIN_MOUSEUP_Y(event) VBX_EVENTARGNUM(event,float,3)
  3134.  
  3135. #endif
  3136.  
  3137.  
  3138. // AwareBinary property values
  3139. #define BIN_BINARYSTYLE_ALIGN_LEFT 0
  3140. #define BIN_BINARYSTYLE_ALIGN_LEFT_W_SCROLL 1
  3141. #define BIN_BINARYSTYLE_CENTER 2
  3142. #define BIN_BINARYSTYLE_SCALE_TO_FIT 3
  3143. #define BIN_BINARYSTYLE_STRETCH_TO_FIT 4
  3144. #define BIN_BORDERSTYLE_NO_BORDER 0
  3145. #define BIN_BORDERSTYLE_SINGLE_LINE 1
  3146. #define BIN_BORDERSTYLE_ROUNDED 2
  3147. #define BIN_BORDERSTYLE_DASH 3
  3148. #define BIN_BORDERSTYLE_DOT 4
  3149. #define BIN_BORDERSTYLE_DASH_DOT 5
  3150. #define BIN_BORDERSTYLE_DASH_DOT_DOT 6
  3151. #define BIN_MOUSEPOINTER_DEFAULT 0
  3152. #define BIN_MOUSEPOINTER_ARROW 1
  3153. #define BIN_MOUSEPOINTER_CROSS 2
  3154. #define BIN_MOUSEPOINTER_I_BEAM 3
  3155. #define BIN_MOUSEPOINTER_ICON 4
  3156. #define BIN_MOUSEPOINTER_SIZE 5
  3157. #define BIN_MOUSEPOINTER_SIZE_NE_SW 6
  3158. #define BIN_MOUSEPOINTER_SIZE_N_S 7
  3159. #define BIN_MOUSEPOINTER_SIZE_NW_SE 8
  3160. #define BIN_MOUSEPOINTER_SIZE_W_E 9
  3161. #define BIN_MOUSEPOINTER_UP_ARROW 10
  3162. #define BIN_MOUSEPOINTER_HOURGLASS 11
  3163. #define BIN_MOUSEPOINTER_NO_DROP 12
  3164. #define BIN_THREEDINSIDESTYLE_NONE 0
  3165. #define BIN_THREEDINSIDESTYLE_LOWERED 1
  3166. #define BIN_THREEDINSIDESTYLE_RAISED 2
  3167. #define BIN_THREEDOUTSIDESTYLE_NONE 0
  3168. #define BIN_THREEDOUTSIDESTYLE_LOWERED 1
  3169. #define BIN_THREEDOUTSIDESTYLE_RAISED 2
  3170.  
  3171. // Class representing AwareCalendar control in AWARECC.VBX file
  3172.  
  3173. class CAwareCalendar : public CVBControl
  3174. {
  3175.   public:
  3176.  
  3177. #ifdef fpMFC
  3178.  
  3179.     BOOL Create(DWORD dwStyle, const RECT& rect,
  3180.                 CWnd* pParentWnd, UINT nID,
  3181.                 CFile* pFile = NULL, BOOL bAutoDelete = FALSE)
  3182.     {
  3183.       return CVBControl::Create(
  3184.                "AWARECC.VBX;AwareCalendar;",
  3185.                dwStyle, rect,
  3186.                pParentWnd, nID,
  3187.                pFile, bAutoDelete
  3188.              );
  3189.     }
  3190.  
  3191. #elif fpOWL
  3192.  
  3193.     CAwareCalendar(TWindow* parent, int id,
  3194.         const char far* title,
  3195.         int x, int y, int w, int h,
  3196.         long initLen = 0, void far* initData = 0,
  3197.         TModule* module = 0)
  3198.     : CVBControl(parent, id, "AWARECC.VBX", "AwareCalendar",
  3199.           title, x, y, w, h, initLen, initData, module) {};
  3200.  
  3201.     CAwareCalendar(TWindow* parent, int resourceId, TModule* module = 0)
  3202.     : CVBControl(parent, resourceId, module) {};
  3203.  
  3204. #endif
  3205.  
  3206.     CStringProperty About() {return CStringProperty(this,66);}
  3207.     CColorProperty BorderColor() {return CColorProperty(this,35);}
  3208.     CColorProperty BorderGrayAreaColor() {return CColorProperty(this,67);}
  3209.     CEnumProperty BorderStyle() {return CEnumProperty(this,34);}
  3210.     CShortProperty BorderWidth() {return CShortProperty(this,36);}
  3211.     CStringProperty CurrentDate() {return CStringProperty(this,42);}
  3212.     CStringProperty DateMax() {return CStringProperty(this,44);}
  3213.     CStringProperty DateMin() {return CStringProperty(this,43);}
  3214.     CShortProperty Day() {return CShortProperty(this,47);}
  3215.     CColorProperty DropShadowColor() {return CColorProperty(this,39);}
  3216.     CShortProperty DropShadowWidth() {return CShortProperty(this,40);}
  3217.     CEnumProperty Element() {return CEnumProperty(this,60);}
  3218.     CColorProperty Element3DHighlightColor() {return CColorProperty(this,56);}
  3219.     CColorProperty Element3DShadowColor() {return CColorProperty(this,57);}
  3220.     CShortProperty Element3DShadowWidth() {return CShortProperty(this,55);}
  3221.     CEnumProperty Element3DStyle() {return CEnumProperty(this,53);}
  3222.     CEnumProperty Element3DText() {return CEnumProperty(this,54);}
  3223.     CColorProperty ElementBackColor() {return CColorProperty(this,58);}
  3224.     CColorProperty ElementForeColor() {return CColorProperty(this,59);}
  3225.     CShortProperty ElementIndex() {return CShortProperty(this,61);}
  3226.     CBoolProperty Enabled() {return CBoolProperty(this,17);}
  3227.     CEnumProperty FirstDayOfWeek() {return CEnumProperty(this,41);}
  3228.     CBoolProperty FontBold() {return CBoolProperty(this,8);}
  3229.     CBoolProperty FontItalic() {return CBoolProperty(this,9);}
  3230.     CStringProperty FontName() {return CStringProperty(this,7);}
  3231.     CFloatProperty FontSize() {return CFloatProperty(this,12);}
  3232.     CBoolProperty FontStrikethru() {return CBoolProperty(this,10);}
  3233.     CBoolProperty FontUnderline() {return CBoolProperty(this,11);}
  3234.     CColorProperty GrayAreaBackColor() {return CColorProperty(this,50);}
  3235.     CColorProperty GrayAreaForeColor() {return CColorProperty(this,51);}
  3236.     CEnumProperty GrayAreaStyle() {return CEnumProperty(this,49);}
  3237.     CEnumProperty HeaderStyle() {return CEnumProperty(this,52);}
  3238.     CLongProperty Height() {return CLongProperty(this,5);}
  3239.     CShortProperty Index() {return CShortProperty(this,1);}
  3240.     CLongProperty Left() {return CLongProperty(this,2);}
  3241.     CStringProperty LongDayName(int i) {return CStringProperty(this,68,i);}
  3242.     CStringProperty LongMonthName(int i) {return CStringProperty(this,69,i);}
  3243.     CShortProperty Month() {return CShortProperty(this,46);}
  3244.     CEnumProperty MonthHeaderStyle() {return CEnumProperty(this,62);}
  3245.     CEnumProperty MousePointer() {return CEnumProperty(this,6);}
  3246.     CStringProperty Name() {return CStringProperty(this,0);}
  3247.     CBoolProperty OnFocusInvert3D() {return CBoolProperty(this,37);}
  3248.     CBoolProperty OnFocusShadow() {return CBoolProperty(this,38);}
  3249.     CShortProperty Parent() {return CShortProperty(this,18);}
  3250.     CBoolProperty Redraw() {return CBoolProperty(this,65);}
  3251.     CStringProperty ShortDayName(int i) {return CStringProperty(this,70,i);}
  3252.     CStringProperty ShortMonthName(int i) {return CStringProperty(this,71,i);}
  3253.     CShortProperty TabIndex() {return CShortProperty(this,13);}
  3254.     CShortProperty TabStop() {return CShortProperty(this,14);}
  3255.     CStringProperty Tag() {return CStringProperty(this,19);}
  3256.     CShortProperty ThreeDFrameWidth() {return CShortProperty(this,33);}
  3257.     CColorProperty ThreeDInsideHighlightColor() {return CColorProperty(this,26);}
  3258.     CColorProperty ThreeDInsideShadowColor() {return CColorProperty(this,27);}
  3259.     CEnumProperty ThreeDInsideStyle() {return CEnumProperty(this,25);}
  3260.     CShortProperty ThreeDInsideWidth() {return CShortProperty(this,28);}
  3261.     CColorProperty ThreeDOutsideHighlightColor() {return CColorProperty(this,30);}
  3262.     CColorProperty ThreeDOutsideShadowColor() {return CColorProperty(this,31);}
  3263.     CEnumProperty ThreeDOutsideStyle() {return CEnumProperty(this,29);}
  3264.     CShortProperty ThreeDOutsideWidth() {return CShortProperty(this,32);}
  3265.     CLongProperty Top() {return CLongProperty(this,3);}
  3266.     CBoolProperty Visible() {return CBoolProperty(this,20);}
  3267.     CEnumProperty WeekDayHdr() {return CEnumProperty(this,45);}
  3268.     CLongProperty Width() {return CLongProperty(this,4);}
  3269.     CShortProperty Year() {return CShortProperty(this,48);}
  3270.     CEnumProperty YearHeaderStyle() {return CEnumProperty(this,63);}
  3271.     CShortProperty hWnd() {return CShortProperty(this,64);}
  3272.  
  3273. };
  3274.  
  3275. #ifdef fpMFC
  3276.  
  3277. inline void AFXAPI
  3278. DDX_VBControl(CDataExchange* pDX, int nIDC, CAwareCalendar*& rpAwareCalendar)
  3279. {
  3280.   CVBControl* pControl = (CVBControl*)rpAwareCalendar;
  3281.   DDX_VBControl(pDX, nIDC, pControl);
  3282.   rpAwareCalendar = (CAwareCalendar*)pControl;
  3283. }
  3284. #endif
  3285.  
  3286. // AwareCalendar event indices
  3287. #define EVENT_CAL_CHANGE 0
  3288. #define EVENT_CAL_DBLCLICK 1
  3289. #define EVENT_CAL_GOTFOUCS 4
  3290. #define EVENT_CAL_KEYDOWN 5
  3291. #define EVENT_CAL_KEYPRESS 6
  3292. #define EVENT_CAL_KEYUP 7
  3293. #define EVENT_CAL_LOSTFOCUS 8
  3294.  
  3295. // AwareCalendar property indices
  3296. #define PROP_CAL_ABOUT 66
  3297. #define PROP_CAL_BORDERCOLOR 35
  3298. #define PROP_CAL_BORDERGRAYAREACOLOR 67
  3299. #define PROP_CAL_BORDERSTYLE 34
  3300. #define PROP_CAL_BORDERWIDTH 36
  3301. #define PROP_CAL_CURRENTDATE 42
  3302. #define PROP_CAL_DATEMAX 44
  3303. #define PROP_CAL_DATEMIN 43
  3304. #define PROP_CAL_DAY 47
  3305. #define PROP_CAL_DROPSHADOWCOLOR 39
  3306. #define PROP_CAL_DROPSHADOWWIDTH 40
  3307. #define PROP_CAL_ELEMENT 60
  3308. #define PROP_CAL_ELEMENT3DHIGHLIGHTCOLOR 56
  3309. #define PROP_CAL_ELEMENT3DSHADOWCOLOR 57
  3310. #define PROP_CAL_ELEMENT3DSHADOWWIDTH 55
  3311. #define PROP_CAL_ELEMENT3DSTYLE 53
  3312. #define PROP_CAL_ELEMENT3DTEXT 54
  3313. #define PROP_CAL_ELEMENTBACKCOLOR 58
  3314. #define PROP_CAL_ELEMENTFORECOLOR 59
  3315. #define PROP_CAL_ELEMENTINDEX 61
  3316. #define PROP_CAL_ENABLED 17
  3317. #define PROP_CAL_FIRSTDAYOFWEEK 41
  3318. #define PROP_CAL_FONTBOLD 8
  3319. #define PROP_CAL_FONTITALIC 9
  3320. #define PROP_CAL_FONTNAME 7
  3321. #define PROP_CAL_FONTSIZE 12
  3322. #define PROP_CAL_FONTSTRIKETHRU 10
  3323. #define PROP_CAL_FONTUNDERLINE 11
  3324. #define PROP_CAL_GRAYAREABACKCOLOR 50
  3325. #define PROP_CAL_GRAYAREAFORECOLOR 51
  3326. #define PROP_CAL_GRAYAREASTYLE 49
  3327. #define PROP_CAL_HEADERSTYLE 52
  3328. #define PROP_CAL_HEIGHT 5
  3329. #define PROP_CAL_INDEX 1
  3330. #define PROP_CAL_LEFT 2
  3331. #define PROP_CAL_LONGDAYNAME 68
  3332. #define PROP_CAL_LONGMONTHNAME 69
  3333. #define PROP_CAL_MONTH 46
  3334. #define PROP_CAL_MONTHHEADERSTYLE 62
  3335. #define PROP_CAL_MOUSEPOINTER 6
  3336. #define PROP_CAL_NAME 0
  3337. #define PROP_CAL_ONFOCUSINVERT3D 37
  3338. #define PROP_CAL_ONFOCUSSHADOW 38
  3339. #define PROP_CAL_PARENT 18
  3340. #define PROP_CAL_REDRAW 65
  3341. #define PROP_CAL_SHORTDAYNAME 70
  3342. #define PROP_CAL_SHORTMONTHNAME 71
  3343. #define PROP_CAL_TABINDEX 13
  3344. #define PROP_CAL_TABSTOP 14
  3345. #define PROP_CAL_TAG 19
  3346. #define PROP_CAL_THREEDFRAMEWIDTH 33
  3347. #define PROP_CAL_THREEDINSIDEHIGHLIGHTCOLOR 26
  3348. #define PROP_CAL_THREEDINSIDESHADOWCOLOR 27
  3349. #define PROP_CAL_THREEDINSIDESTYLE 25
  3350. #define PROP_CAL_THREEDINSIDEWIDTH 28
  3351. #define PROP_CAL_THREEDOUTSIDEHIGHLIGHTCOLOR 30
  3352. #define PROP_CAL_THREEDOUTSIDESHADOWCOLOR 31
  3353. #define PROP_CAL_THREEDOUTSIDESTYLE 29
  3354. #define PROP_CAL_THREEDOUTSIDEWIDTH 32
  3355. #define PROP_CAL_TOP 3
  3356. #define PROP_CAL_VISIBLE 20
  3357. #define PROP_CAL_WEEKDAYHDR 45
  3358. #define PROP_CAL_WIDTH 4
  3359. #define PROP_CAL_YEAR 48
  3360. #define PROP_CAL_YEARHEADERSTYLE 63
  3361. #define PROP_CAL_HWND 64
  3362.  
  3363. #ifdef fpMFC
  3364.  
  3365.  
  3366. // AwareCalendar event macros
  3367. #define CAL_CHANGE_OLDMONTH(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,6)
  3368. #define CAL_CHANGE_OLDDAY(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,5)
  3369. #define CAL_CHANGE_OLDYEAR(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,4)
  3370. #define CAL_CHANGE_NEWMONTH(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  3371. #define CAL_CHANGE_NEWDAY(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  3372. #define CAL_CHANGE_NEWYEAR(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  3373. #define CAL_CHANGE_CANCEL(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  3374. #define CAL_DBLCLICK_CURRENTMONTH(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  3375. #define CAL_DBLCLICK_CURRENTDAY(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  3376. #define CAL_DBLCLICK_CURRENTYEAR(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  3377. #define CAL_KEYDOWN_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  3378. #define CAL_KEYDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  3379. #define CAL_KEYPRESS_KEYASCII(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  3380. #define CAL_KEYUP_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  3381. #define CAL_KEYUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  3382.  
  3383. #elif fpOWL
  3384.  
  3385.  
  3386. // AwareCalendar event macros
  3387. #define CAL_CHANGE_OLDMONTH(event) VBX_EVENTARGNUM(event,int,0)
  3388. #define CAL_CHANGE_OLDDAY(event) VBX_EVENTARGNUM(event,int,1)
  3389. #define CAL_CHANGE_OLDYEAR(event) VBX_EVENTARGNUM(event,int,2)
  3390. #define CAL_CHANGE_NEWMONTH(event) VBX_EVENTARGNUM(event,int,3)
  3391. #define CAL_CHANGE_NEWDAY(event) VBX_EVENTARGNUM(event,int,4)
  3392. #define CAL_CHANGE_NEWYEAR(event) VBX_EVENTARGNUM(event,int,5)
  3393. #define CAL_CHANGE_CANCEL(event) VBX_EVENTARGNUM(event,int,6)
  3394. #define CAL_DBLCLICK_CURRENTMONTH(event) VBX_EVENTARGNUM(event,int,0)
  3395. #define CAL_DBLCLICK_CURRENTDAY(event) VBX_EVENTARGNUM(event,int,1)
  3396. #define CAL_DBLCLICK_CURRENTYEAR(event) VBX_EVENTARGNUM(event,int,2)
  3397. #define CAL_KEYDOWN_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  3398. #define CAL_KEYDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  3399. #define CAL_KEYPRESS_KEYASCII(event) VBX_EVENTARGNUM(event,int,0)
  3400. #define CAL_KEYUP_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  3401. #define CAL_KEYUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  3402.  
  3403. #endif
  3404.  
  3405.  
  3406. // AwareCalendar property values
  3407. #define CAL_BORDERSTYLE_NO_BORDER 0
  3408. #define CAL_BORDERSTYLE_SINGLE_LINE 1
  3409. #define CAL_BORDERSTYLE_ROUNDED 2
  3410. #define CAL_BORDERSTYLE_DASH 3
  3411. #define CAL_BORDERSTYLE_DOT 4
  3412. #define CAL_BORDERSTYLE_DASH_DOT 5
  3413. #define CAL_BORDERSTYLE_DASH_DOT_DOT 6
  3414. #define CAL_ELEMENT_DEFAULT 0
  3415. #define CAL_ELEMENT_MONTH 1
  3416. #define CAL_ELEMENT_DAYS 2
  3417. #define CAL_ELEMENT_YEAR 3
  3418. #define CAL_ELEMENT_WEEKDAYS 4
  3419. #define CAL_ELEMENT_WEEKDAYINDEX 5
  3420. #define CAL_ELEMENT_DAYINDEX 6
  3421. #define CAL_ELEMENT_DROPDOWN 7
  3422. #define CAL_ELEMENT3DSTYLE_OFF 0
  3423. #define CAL_ELEMENT3DSTYLE_IN 1
  3424. #define CAL_ELEMENT3DSTYLE_OUT 2
  3425. #define CAL_ELEMENT3DTEXT_NONE 0
  3426. #define CAL_ELEMENT3DTEXT_UP 1
  3427. #define CAL_ELEMENT3DTEXT_DOWN 2
  3428. #define CAL_ELEMENT3DTEXT_MORE_UP 3
  3429. #define CAL_ELEMENT3DTEXT_MORE_DOWN 4
  3430. #define CAL_FIRSTDAYOFWEEK_SUNDAY 0
  3431. #define CAL_FIRSTDAYOFWEEK_MONDAY 1
  3432. #define CAL_GRAYAREASTYLE_SOLID 0
  3433. #define CAL_GRAYAREASTYLE_PINSTRIPE 1
  3434. #define CAL_GRAYAREASTYLE_SHOW_PREV_NEXT 2
  3435. #define CAL_HEADERSTYLE_NONE 0
  3436. #define CAL_HEADERSTYLE_1_LINE 1
  3437. #define CAL_HEADERSTYLE_2_LINE 2
  3438. #define CAL_MONTHHEADERSTYLE_NONE 0
  3439. #define CAL_MONTHHEADERSTYLE_SCROLL 1
  3440. #define CAL_MONTHHEADERSTYLE_DROP_DOWN 2
  3441. #define CAL_MOUSEPOINTER_DEFAULT 0
  3442. #define CAL_MOUSEPOINTER_ARROW 1
  3443. #define CAL_MOUSEPOINTER_CROSS 2
  3444. #define CAL_MOUSEPOINTER_I_BEAM 3
  3445. #define CAL_MOUSEPOINTER_ICON 4
  3446. #define CAL_MOUSEPOINTER_SIZE 5
  3447. #define CAL_MOUSEPOINTER_SIZE_NE_SW 6
  3448. #define CAL_MOUSEPOINTER_SIZE_N_S 7
  3449. #define CAL_MOUSEPOINTER_SIZE_NW_SE 8
  3450. #define CAL_MOUSEPOINTER_SIZE_W_E 9
  3451. #define CAL_MOUSEPOINTER_UP_ARROW 10
  3452. #define CAL_MOUSEPOINTER_HOURGLASS 11
  3453. #define CAL_MOUSEPOINTER_NO_DROP 12
  3454. #define CAL_THREEDINSIDESTYLE_NONE 0
  3455. #define CAL_THREEDINSIDESTYLE_LOWERED 1
  3456. #define CAL_THREEDINSIDESTYLE_RAISED 2
  3457. #define CAL_THREEDOUTSIDESTYLE_NONE 0
  3458. #define CAL_THREEDOUTSIDESTYLE_LOWERED 1
  3459. #define CAL_THREEDOUTSIDESTYLE_RAISED 2
  3460. #define CAL_WEEKDAYHDR_NONE 0
  3461. #define CAL_WEEKDAYHDR_1_LETTER 1
  3462. #define CAL_WEEKDAYHDR_2_LETTERS 2
  3463. #define CAL_WEEKDAYHDR_3_LETTERS 3
  3464. #define CAL_WEEKDAYHDR_LONG_WORD 4
  3465. #define CAL_YEARHEADERSTYLE_NONE 0
  3466. #define CAL_YEARHEADERSTYLE_SCROLL 1
  3467. #define CAL_YEARHEADERSTYLE_DROP_DOWN 2
  3468.  
  3469. // Class representing AwareClock10 control in AWARECC.VBX file
  3470.  
  3471. class CAwareClock : public CVBControl
  3472. {
  3473.   public:
  3474.  
  3475. #ifdef fpMFC
  3476.  
  3477.     BOOL Create(DWORD dwStyle, const RECT& rect,
  3478.                 CWnd* pParentWnd, UINT nID,
  3479.                 CFile* pFile = NULL, BOOL bAutoDelete = FALSE)
  3480.     {
  3481.       return CVBControl::Create(
  3482.                "AWARECC.VBX;AwareClock10;",
  3483.                dwStyle, rect,
  3484.                pParentWnd, nID,
  3485.                pFile, bAutoDelete
  3486.              );
  3487.     }
  3488.  
  3489. #elif fpOWL
  3490.  
  3491.     CAwareClock(TWindow* parent, int id,
  3492.         const char far* title,
  3493.         int x, int y, int w, int h,
  3494.         long initLen = 0, void far* initData = 0,
  3495.         TModule* module = 0)
  3496.     : CVBControl(parent, id, "AWARECC.VBX", "AwareClock10",
  3497.           title, x, y, w, h, initLen, initData, module) {};
  3498.  
  3499.     CAwareClock(TWindow* parent, int resourceId, TModule* module = 0)
  3500.     : CVBControl(parent, resourceId, module) {};
  3501.  
  3502. #endif
  3503.  
  3504.     CStringProperty About() {return CStringProperty(this,87);}
  3505.     CStringProperty AlarmTime() {return CStringProperty(this,43);}
  3506.     CEnumProperty AllowMoveHand() {return CEnumProperty(this,64);}
  3507.     CEnumProperty AnalogFace() {return CEnumProperty(this,58);}
  3508.     CBoolProperty AnalogHourFill() {return CBoolProperty(this,71);}
  3509.     CColorProperty AnalogHourFillColor() {return CColorProperty(this,70);}
  3510.     CFloatProperty AnalogHourHandAngle(int i) {return CFloatProperty(this,78,i);}
  3511.     CColorProperty AnalogHourHandColor() {return CColorProperty(this,69);}
  3512.     CShortProperty AnalogHourHandPts() {return CShortProperty(this,80);}
  3513.     CShortProperty AnalogHourHandRadius(int i) {return CShortProperty(this,79,i);}
  3514.     CBoolProperty AnalogMinFill() {return CBoolProperty(this,74);}
  3515.     CColorProperty AnalogMinFillColor() {return CColorProperty(this,73);}
  3516.     CFloatProperty AnalogMinHandAngle(int i) {return CFloatProperty(this,81,i);}
  3517.     CColorProperty AnalogMinHandColor() {return CColorProperty(this,72);}
  3518.     CShortProperty AnalogMinHandPts() {return CShortProperty(this,83);}
  3519.     CShortProperty AnalogMinHandRadius(int i) {return CShortProperty(this,82,i);}
  3520.     CBoolProperty AnalogSecFill() {return CBoolProperty(this,77);}
  3521.     CColorProperty AnalogSecFillColor() {return CColorProperty(this,76);}
  3522.     CFloatProperty AnalogSecHandAngle(int i) {return CFloatProperty(this,84,i);}
  3523.     CColorProperty AnalogSecHandColor() {return CColorProperty(this,75);}
  3524.     CShortProperty AnalogSecHandPts() {return CShortProperty(this,86);}
  3525.     CShortProperty AnalogSecHandRadius(int i) {return CShortProperty(this,85,i);}
  3526.     CColorProperty AnalogTickFillColor() {return CColorProperty(this,68);}
  3527.     CColorProperty AnalogTickShadowColor() {return CColorProperty(this,67);}
  3528.     CEnumProperty AnalogTicks() {return CEnumProperty(this,59);}
  3529.     CBoolProperty AutoSet() {return CBoolProperty(this,44);}
  3530.     CBoolProperty AutoUpdate() {return CBoolProperty(this,45);}
  3531.     CColorProperty BackColor() {return CColorProperty(this,2);}
  3532.     CColorProperty BorderColor() {return CColorProperty(this,37);}
  3533.     CColorProperty BorderGrayAreaColor() {return CColorProperty(this,88);}
  3534.     CEnumProperty BorderStyle() {return CEnumProperty(this,36);}
  3535.     CShortProperty BorderWidth() {return CShortProperty(this,38);}
  3536.     CEnumProperty ClockMode() {return CEnumProperty(this,46);}
  3537.     CEnumProperty ClockStyle() {return CEnumProperty(this,47);}
  3538.     CStringProperty CurrentTime() {return CStringProperty(this,48);}
  3539.     CColorProperty DropShadowColor() {return CColorProperty(this,41);}
  3540.     CShortProperty DropShadowWidth() {return CShortProperty(this,42);}
  3541.     CStringProperty ElapsedTime() {return CStringProperty(this,49);}
  3542.     CBoolProperty Enabled() {return CBoolProperty(this,20);}
  3543.     CBoolProperty FontBold() {return CBoolProperty(this,10);}
  3544.     CBoolProperty FontItalic() {return CBoolProperty(this,11);}
  3545.     CStringProperty FontName() {return CStringProperty(this,9);}
  3546.     CFloatProperty FontSize() {return CFloatProperty(this,14);}
  3547.     CBoolProperty FontStrikethru() {return CBoolProperty(this,12);}
  3548.     CBoolProperty FontUnderline() {return CBoolProperty(this,13);}
  3549.     CColorProperty ForeColor() {return CColorProperty(this,3);}
  3550.     CLongProperty Height() {return CLongProperty(this,7);}
  3551.     CShortProperty Hour() {return CShortProperty(this,89);}
  3552.     CShortProperty Index() {return CShortProperty(this,1);}
  3553.     CStringProperty Interval() {return CStringProperty(this,50);}
  3554.     CEnumProperty LeadZero() {return CEnumProperty(this,54);}
  3555.     CLongProperty Left() {return CLongProperty(this,4);}
  3556.     CShortProperty Min() {return CShortProperty(this,90);}
  3557.     CEnumProperty MousePointer() {return CEnumProperty(this,8);}
  3558.     CStringProperty Name() {return CStringProperty(this,0);}
  3559.     CBoolProperty OnFocusInvert3D() {return CBoolProperty(this,39);}
  3560.     CBoolProperty OnFocusShadow() {return CBoolProperty(this,40);}
  3561.     CShortProperty Parent() {return CShortProperty(this,19);}
  3562.     CBoolProperty Redraw() {return CBoolProperty(this,66);}
  3563.     CShortProperty Sec() {return CShortProperty(this,91);}
  3564.     CBoolProperty Seconds() {return CBoolProperty(this,51);}
  3565.     CStringProperty Separator() {return CStringProperty(this,55);}
  3566.     CStringProperty StartTime() {return CStringProperty(this,52);}
  3567.     CShortProperty TabIndex() {return CShortProperty(this,15);}
  3568.     CShortProperty TabStop() {return CShortProperty(this,16);}
  3569.     CStringProperty Tag() {return CStringProperty(this,21);}
  3570.     CShortProperty ThreeDFrameWidth() {return CShortProperty(this,35);}
  3571.     CColorProperty ThreeDInsideHighlightColor() {return CColorProperty(this,28);}
  3572.     CColorProperty ThreeDInsideShadowColor() {return CColorProperty(this,29);}
  3573.     CEnumProperty ThreeDInsideStyle() {return CEnumProperty(this,27);}
  3574.     CShortProperty ThreeDInsideWidth() {return CShortProperty(this,30);}
  3575.     CColorProperty ThreeDOutsideHighlightColor() {return CColorProperty(this,32);}
  3576.     CColorProperty ThreeDOutsideShadowColor() {return CColorProperty(this,33);}
  3577.     CEnumProperty ThreeDOutsideStyle() {return CEnumProperty(this,31);}
  3578.     CShortProperty ThreeDOutsideWidth() {return CShortProperty(this,34);}
  3579.     CEnumProperty ThreeDText() {return CEnumProperty(this,60);}
  3580.     CColorProperty ThreeDTextHighlightColor() {return CColorProperty(this,61);}
  3581.     CShortProperty ThreeDTextOffset() {return CShortProperty(this,63);}
  3582.     CColorProperty ThreeDTextShadowColor() {return CColorProperty(this,62);}
  3583.     CEnumProperty TimeScale() {return CEnumProperty(this,53);}
  3584.     CStringProperty TimeString1159() {return CStringProperty(this,56);}
  3585.     CStringProperty TimeString2359() {return CStringProperty(this,57);}
  3586.     CLongProperty Top() {return CLongProperty(this,5);}
  3587.     CBoolProperty Visible() {return CBoolProperty(this,22);}
  3588.     CLongProperty Width() {return CLongProperty(this,6);}
  3589.     CShortProperty hWnd() {return CShortProperty(this,65);}
  3590.  
  3591. };
  3592.  
  3593. #ifdef fpMFC
  3594.  
  3595. inline void AFXAPI
  3596. DDX_VBControl(CDataExchange* pDX, int nIDC, CAwareClock*& rpAwareClock)
  3597. {
  3598.   CVBControl* pControl = (CVBControl*)rpAwareClock;
  3599.   DDX_VBControl(pDX, nIDC, pControl);
  3600.   rpAwareClock = (CAwareClock*)pControl;
  3601. }
  3602. #endif
  3603.  
  3604. // AwareClock event indices
  3605. #define EVENT_CLK_ALARM 0
  3606. #define EVENT_CLK_CHANGE 1
  3607. #define EVENT_CLK_CLICK 2
  3608. #define EVENT_CLK_DBLCLICK 3
  3609. #define EVENT_CLK_GOTFOUCS 6
  3610. #define EVENT_CLK_KEYDOWN 7
  3611. #define EVENT_CLK_KEYPRESS 8
  3612. #define EVENT_CLK_KEYUP 9
  3613. #define EVENT_CLK_LOSTFOCUS 10
  3614. #define EVENT_CLK_MOUSEDOWN 11
  3615. #define EVENT_CLK_MOUSEMOVE 12
  3616. #define EVENT_CLK_MOUSEUP 13
  3617. #define EVENT_CLK_MOVEHAND 14
  3618. #define EVENT_CLK_TIMER 15
  3619.  
  3620. // AwareClock property indices
  3621. #define PROP_CLK_ABOUT 87
  3622. #define PROP_CLK_ALARMTIME 43
  3623. #define PROP_CLK_ALLOWMOVEHAND 64
  3624. #define PROP_CLK_ANALOGFACE 58
  3625. #define PROP_CLK_ANALOGHOURFILL 71
  3626. #define PROP_CLK_ANALOGHOURFILLCOLOR 70
  3627. #define PROP_CLK_ANALOGHOURHANDANGLE 78
  3628. #define PROP_CLK_ANALOGHOURHANDCOLOR 69
  3629. #define PROP_CLK_ANALOGHOURHANDPTS 80
  3630. #define PROP_CLK_ANALOGHOURHANDRADIUS 79
  3631. #define PROP_CLK_ANALOGMINFILL 74
  3632. #define PROP_CLK_ANALOGMINFILLCOLOR 73
  3633. #define PROP_CLK_ANALOGMINHANDANGLE 81
  3634. #define PROP_CLK_ANALOGMINHANDCOLOR 72
  3635. #define PROP_CLK_ANALOGMINHANDPTS 83
  3636. #define PROP_CLK_ANALOGMINHANDRADIUS 82
  3637. #define PROP_CLK_ANALOGSECFILL 77
  3638. #define PROP_CLK_ANALOGSECFILLCOLOR 76
  3639. #define PROP_CLK_ANALOGSECHANDANGLE 84
  3640. #define PROP_CLK_ANALOGSECHANDCOLOR 75
  3641. #define PROP_CLK_ANALOGSECHANDPTS 86
  3642. #define PROP_CLK_ANALOGSECHANDRADIUS 85
  3643. #define PROP_CLK_ANALOGTICKFILLCOLOR 68
  3644. #define PROP_CLK_ANALOGTICKSHADOWCOLOR 67
  3645. #define PROP_CLK_ANALOGTICKS 59
  3646. #define PROP_CLK_AUTOSET 44
  3647. #define PROP_CLK_AUTOUPDATE 45
  3648. #define PROP_CLK_BACKCOLOR 2
  3649. #define PROP_CLK_BORDERCOLOR 37
  3650. #define PROP_CLK_BORDERGRAYAREACOLOR 88
  3651. #define PROP_CLK_BORDERSTYLE 36
  3652. #define PROP_CLK_BORDERWIDTH 38
  3653. #define PROP_CLK_CLOCKMODE 46
  3654. #define PROP_CLK_CLOCKSTYLE 47
  3655. #define PROP_CLK_CURRENTTIME 48
  3656. #define PROP_CLK_DROPSHADOWCOLOR 41
  3657. #define PROP_CLK_DROPSHADOWWIDTH 42
  3658. #define PROP_CLK_ELAPSEDTIME 49
  3659. #define PROP_CLK_ENABLED 20
  3660. #define PROP_CLK_FONTBOLD 10
  3661. #define PROP_CLK_FONTITALIC 11
  3662. #define PROP_CLK_FONTNAME 9
  3663. #define PROP_CLK_FONTSIZE 14
  3664. #define PROP_CLK_FONTSTRIKETHRU 12
  3665. #define PROP_CLK_FONTUNDERLINE 13
  3666. #define PROP_CLK_FORECOLOR 3
  3667. #define PROP_CLK_HEIGHT 7
  3668. #define PROP_CLK_HOUR 89
  3669. #define PROP_CLK_INDEX 1
  3670. #define PROP_CLK_INTERVAL 50
  3671. #define PROP_CLK_LEADZERO 54
  3672. #define PROP_CLK_LEFT 4
  3673. #define PROP_CLK_MIN 90
  3674. #define PROP_CLK_MOUSEPOINTER 8
  3675. #define PROP_CLK_NAME 0
  3676. #define PROP_CLK_ONFOCUSINVERT3D 39
  3677. #define PROP_CLK_ONFOCUSSHADOW 40
  3678. #define PROP_CLK_PARENT 19
  3679. #define PROP_CLK_REDRAW 66
  3680. #define PROP_CLK_SEC 91
  3681. #define PROP_CLK_SECONDS 51
  3682. #define PROP_CLK_SEPARATOR 55
  3683. #define PROP_CLK_STARTTIME 52
  3684. #define PROP_CLK_TABINDEX 15
  3685. #define PROP_CLK_TABSTOP 16
  3686. #define PROP_CLK_TAG 21
  3687. #define PROP_CLK_THREEDFRAMEWIDTH 35
  3688. #define PROP_CLK_THREEDINSIDEHIGHLIGHTCOLOR 28
  3689. #define PROP_CLK_THREEDINSIDESHADOWCOLOR 29
  3690. #define PROP_CLK_THREEDINSIDESTYLE 27
  3691. #define PROP_CLK_THREEDINSIDEWIDTH 30
  3692. #define PROP_CLK_THREEDOUTSIDEHIGHLIGHTCOLOR 32
  3693. #define PROP_CLK_THREEDOUTSIDESHADOWCOLOR 33
  3694. #define PROP_CLK_THREEDOUTSIDESTYLE 31
  3695. #define PROP_CLK_THREEDOUTSIDEWIDTH 34
  3696. #define PROP_CLK_THREEDTEXT 60
  3697. #define PROP_CLK_THREEDTEXTHIGHLIGHTCOLOR 61
  3698. #define PROP_CLK_THREEDTEXTOFFSET 63
  3699. #define PROP_CLK_THREEDTEXTSHADOWCOLOR 62
  3700. #define PROP_CLK_TIMESCALE 53
  3701. #define PROP_CLK_TIMESTRING1159 56
  3702. #define PROP_CLK_TIMESTRING2359 57
  3703. #define PROP_CLK_TOP 5
  3704. #define PROP_CLK_VISIBLE 22
  3705. #define PROP_CLK_WIDTH 6
  3706. #define PROP_CLK_HWND 65
  3707.  
  3708. #ifdef fpMFC
  3709.  
  3710.  
  3711. // AwareClock event macros
  3712. #define CLK_CLICK_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  3713. #define CLK_DBLCLICK_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  3714. #define CLK_KEYDOWN_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  3715. #define CLK_KEYDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  3716. #define CLK_KEYPRESS_KEYASCII(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  3717. #define CLK_KEYUP_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  3718. #define CLK_KEYUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  3719. #define CLK_MOUSEDOWN_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  3720. #define CLK_MOUSEDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  3721. #define CLK_MOUSEDOWN_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  3722. #define CLK_MOUSEDOWN_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  3723. #define CLK_MOUSEMOVE_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  3724. #define CLK_MOUSEMOVE_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  3725. #define CLK_MOUSEMOVE_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  3726. #define CLK_MOUSEMOVE_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  3727. #define CLK_MOUSEUP_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  3728. #define CLK_MOUSEUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  3729. #define CLK_MOUSEUP_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  3730. #define CLK_MOUSEUP_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  3731. #define CLK_MOVEHAND_OLDHOUR(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,5)
  3732. #define CLK_MOVEHAND_OLDMIN(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,4)
  3733. #define CLK_MOVEHAND_OLDSEC(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  3734. #define CLK_MOVEHAND_NEWHOUR(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  3735. #define CLK_MOVEHAND_NEWMIN(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  3736. #define CLK_MOVEHAND_NEWSEC(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  3737. #define CLK_TIMER_AUTOUPDATE(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  3738.  
  3739. #elif fpOWL
  3740.  
  3741.  
  3742. // AwareClock event macros
  3743. #define CLK_CLICK_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  3744. #define CLK_DBLCLICK_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  3745. #define CLK_KEYDOWN_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  3746. #define CLK_KEYDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  3747. #define CLK_KEYPRESS_KEYASCII(event) VBX_EVENTARGNUM(event,int,0)
  3748. #define CLK_KEYUP_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  3749. #define CLK_KEYUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  3750. #define CLK_MOUSEDOWN_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  3751. #define CLK_MOUSEDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  3752. #define CLK_MOUSEDOWN_X(event) VBX_EVENTARGNUM(event,float,2)
  3753. #define CLK_MOUSEDOWN_Y(event) VBX_EVENTARGNUM(event,float,3)
  3754. #define CLK_MOUSEMOVE_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  3755. #define CLK_MOUSEMOVE_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  3756. #define CLK_MOUSEMOVE_X(event) VBX_EVENTARGNUM(event,float,2)
  3757. #define CLK_MOUSEMOVE_Y(event) VBX_EVENTARGNUM(event,float,3)
  3758. #define CLK_MOUSEUP_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  3759. #define CLK_MOUSEUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  3760. #define CLK_MOUSEUP_X(event) VBX_EVENTARGNUM(event,float,2)
  3761. #define CLK_MOUSEUP_Y(event) VBX_EVENTARGNUM(event,float,3)
  3762. #define CLK_MOVEHAND_OLDHOUR(event) VBX_EVENTARGNUM(event,int,0)
  3763. #define CLK_MOVEHAND_OLDMIN(event) VBX_EVENTARGNUM(event,int,1)
  3764. #define CLK_MOVEHAND_OLDSEC(event) VBX_EVENTARGNUM(event,int,2)
  3765. #define CLK_MOVEHAND_NEWHOUR(event) VBX_EVENTARGNUM(event,int,3)
  3766. #define CLK_MOVEHAND_NEWMIN(event) VBX_EVENTARGNUM(event,int,4)
  3767. #define CLK_MOVEHAND_NEWSEC(event) VBX_EVENTARGNUM(event,int,5)
  3768. #define CLK_TIMER_AUTOUPDATE(event) VBX_EVENTARGNUM(event,int,0)
  3769.  
  3770. #endif
  3771.  
  3772.  
  3773. // AwareClock property values
  3774. #define CLK_ALLOWMOVEHAND_NO_MOVEMENT 0
  3775. #define CLK_ALLOWMOVEHAND_LEFT_BUTTON 1
  3776. #define CLK_ALLOWMOVEHAND_RIGHT_BUTTON 2
  3777. #define CLK_ANALOGFACE_NO_TEXT 0
  3778. #define CLK_ANALOGFACE_4_ROMAN_NUMERALS 1
  3779. #define CLK_ANALOGFACE_12_ROMAN_NUMERALS 2
  3780. #define CLK_ANALOGFACE_4_ARABIC_NUMBERS 3
  3781. #define CLK_ANALOGFACE_12_ARABIC_NUMBERS 4
  3782. #define CLK_ANALOGTICKS_NONE 0
  3783. #define CLK_ANALOGTICKS_HOUR 1
  3784. #define CLK_ANALOGTICKS_MINUTE 2
  3785. #define CLK_ANALOGTICKS_BOTH 3
  3786. #define CLK_BORDERSTYLE_NO_BORDER 0
  3787. #define CLK_BORDERSTYLE_SINGLE_LINE 1
  3788. #define CLK_BORDERSTYLE_ROUNDED 2
  3789. #define CLK_BORDERSTYLE_DASH 3
  3790. #define CLK_BORDERSTYLE_DOT 4
  3791. #define CLK_BORDERSTYLE_DASH_DOT 5
  3792. #define CLK_BORDERSTYLE_DASH_DOT_DOT 6
  3793. #define CLK_CLOCKMODE_INTL 0
  3794. #define CLK_CLOCKMODE_12_HOUR 1
  3795. #define CLK_CLOCKMODE_24_HOUR 2
  3796. #define CLK_CLOCKMODE_STOPWATCH 3
  3797. #define CLK_CLOCKSTYLE_DEFAULT 0
  3798. #define CLK_CLOCKSTYLE_DIGITAL 1
  3799. #define CLK_CLOCKSTYLE_ANALOG 2
  3800. #define CLK_LEADZERO_INTL 0
  3801. #define CLK_LEADZERO_NO_LEADING_ZERO 1
  3802. #define CLK_LEADZERO_LEADING_ZERO 2
  3803. #define CLK_MOUSEPOINTER_DEFAULT 0
  3804. #define CLK_MOUSEPOINTER_ARROW 1
  3805. #define CLK_MOUSEPOINTER_CROSS 2
  3806. #define CLK_MOUSEPOINTER_I_BEAM 3
  3807. #define CLK_MOUSEPOINTER_ICON 4
  3808. #define CLK_MOUSEPOINTER_SIZE 5
  3809. #define CLK_MOUSEPOINTER_SIZE_NE_SW 6
  3810. #define CLK_MOUSEPOINTER_SIZE_N_S 7
  3811. #define CLK_MOUSEPOINTER_SIZE_NW_SE 8
  3812. #define CLK_MOUSEPOINTER_SIZE_W_E 9
  3813. #define CLK_MOUSEPOINTER_UP_ARROW 10
  3814. #define CLK_MOUSEPOINTER_HOURGLASS 11
  3815. #define CLK_MOUSEPOINTER_NO_DROP 12
  3816. #define CLK_THREEDINSIDESTYLE_NONE 0
  3817. #define CLK_THREEDINSIDESTYLE_LOWERED 1
  3818. #define CLK_THREEDINSIDESTYLE_RAISED 2
  3819. #define CLK_THREEDOUTSIDESTYLE_NONE 0
  3820. #define CLK_THREEDOUTSIDESTYLE_LOWERED 1
  3821. #define CLK_THREEDOUTSIDESTYLE_RAISED 2
  3822. #define CLK_THREEDTEXT_NONE 0
  3823. #define CLK_THREEDTEXT_ETCHED 1
  3824. #define CLK_THREEDTEXT_EMBOSSED 2
  3825. #define CLK_THREEDTEXT_ETCHED_W_SHADING 3
  3826. #define CLK_THREEDTEXT_EMBOSSED_W_SHADING 4
  3827. #define CLK_TIMESCALE_HH_MM_SS_NN 0
  3828. #define CLK_TIMESCALE_HOURS 1
  3829. #define CLK_TIMESCALE_MINUTES 2
  3830. #define CLK_TIMESCALE_SECONDS 3
  3831. #define CLK_TIMESCALE_MILLISECONDS 4
  3832.  
  3833. // Class representing AwareMemo10 control in AWAREMM.VBX file
  3834.  
  3835. class CAwareMemo : public CVBControl
  3836. {
  3837.   public:
  3838.  
  3839. #ifdef fpMFC
  3840.  
  3841.     BOOL Create(DWORD dwStyle, const RECT& rect,
  3842.                 CWnd* pParentWnd, UINT nID,
  3843.                 CFile* pFile = NULL, BOOL bAutoDelete = FALSE)
  3844.     {
  3845.       return CVBControl::Create(
  3846.                "AWAREMM.VBX;AwareMemo10;",
  3847.                dwStyle, rect,
  3848.                pParentWnd, nID,
  3849.                pFile, bAutoDelete
  3850.              );
  3851.     }
  3852.  
  3853. #elif fpOWL
  3854.  
  3855.     CAwareMemo(TWindow* parent, int id,
  3856.         const char far* title,
  3857.         int x, int y, int w, int h,
  3858.         long initLen = 0, void far* initData = 0,
  3859.         TModule* module = 0)
  3860.     : CVBControl(parent, id, "AWAREMM.VBX", "AwareMemo10",
  3861.           title, x, y, w, h, initLen, initData, module) {};
  3862.  
  3863.     CAwareMemo(TWindow* parent, int resourceId, TModule* module = 0)
  3864.     : CVBControl(parent, resourceId, module) {};
  3865.  
  3866. #endif
  3867.  
  3868.     CStringProperty About() {return CStringProperty(this,74);}
  3869.     CBoolProperty AllowNull() {return CBoolProperty(this,45);}
  3870.     CBoolProperty AutoAdvance() {return CBoolProperty(this,47);}
  3871.     CBoolProperty AutoBeep() {return CBoolProperty(this,48);}
  3872.     CColorProperty BackColor() {return CColorProperty(this,2);}
  3873.     CColorProperty BorderColor() {return CColorProperty(this,37);}
  3874.     CColorProperty BorderGrayAreaColor() {return CColorProperty(this,75);}
  3875.     CEnumProperty BorderStyle() {return CEnumProperty(this,36);}
  3876.     CShortProperty BorderWidth() {return CShortProperty(this,38);}
  3877.     CEnumProperty CaretInsert() {return CEnumProperty(this,49);}
  3878.     CEnumProperty CaretOverWrite() {return CEnumProperty(this,50);}
  3879.     CEnumProperty ControlType() {return CEnumProperty(this,60);}
  3880.     CColorProperty DropShadowColor() {return CColorProperty(this,41);}
  3881.     CShortProperty DropShadowWidth() {return CShortProperty(this,42);}
  3882.     CBoolProperty Enabled() {return CBoolProperty(this,19);}
  3883.     CBoolProperty FontBold() {return CBoolProperty(this,10);}
  3884.     CBoolProperty FontItalic() {return CBoolProperty(this,11);}
  3885.     CStringProperty FontName() {return CStringProperty(this,9);}
  3886.     CFloatProperty FontSize() {return CFloatProperty(this,14);}
  3887.     CBoolProperty FontStrikethru() {return CBoolProperty(this,12);}
  3888.     CBoolProperty FontUnderline() {return CBoolProperty(this,13);}
  3889.     CColorProperty ForeColor() {return CColorProperty(this,3);}
  3890.     CLongProperty Height() {return CLongProperty(this,7);}
  3891.     CBoolProperty HideSelection() {return CBoolProperty(this,51);}
  3892.     CShortProperty Index() {return CShortProperty(this,1);}
  3893.     CBoolProperty IsNull() {return CBoolProperty(this,53);}
  3894.     CLongProperty Left() {return CLongProperty(this,4);}
  3895.     CLongProperty LineCount() {return CLongProperty(this,67);}
  3896.     CLongProperty LineIndex() {return CLongProperty(this,66);}
  3897.     CLongProperty LineLimit() {return CLongProperty(this,68);}
  3898.     CEnumProperty MousePointer() {return CEnumProperty(this,8);}
  3899.     CStringProperty Name() {return CStringProperty(this,0);}
  3900.     CEnumProperty NoSpecialKeys() {return CEnumProperty(this,46);}
  3901.     CColorProperty NullColor() {return CColorProperty(this,54);}
  3902.     CBoolProperty OnFocusInvert3D() {return CBoolProperty(this,39);}
  3903.     CBoolProperty OnFocusNoSelect() {return CBoolProperty(this,55);}
  3904.     CEnumProperty OnFocusPosition() {return CEnumProperty(this,56);}
  3905.     CBoolProperty OnFocusShadow() {return CBoolProperty(this,40);}
  3906.     CLongProperty PageWidth() {return CLongProperty(this,70);}
  3907.     CShortProperty Parent() {return CShortProperty(this,20);}
  3908.     CBoolProperty Redraw() {return CBoolProperty(this,73);}
  3909.     CEnumProperty ScrollBars() {return CEnumProperty(this,69);}
  3910.     CColorProperty SelBackColor() {return CColorProperty(this,71);}
  3911.     CColorProperty SelForeColor() {return CColorProperty(this,72);}
  3912.     CLongProperty SelLength() {return CLongProperty(this,57);}
  3913.     CEnumProperty SelMode() {return CEnumProperty(this,65);}
  3914.     CLongProperty SelStart() {return CLongProperty(this,58);}
  3915.     CStringProperty SelText() {return CStringProperty(this,59);}
  3916.     CBoolProperty ShowEOL() {return CBoolProperty(this,63);}
  3917.     CShortProperty TabIndex() {return CShortProperty(this,15);}
  3918.     CShortProperty TabStop() {return CShortProperty(this,16);}
  3919.     CStringProperty Tag() {return CStringProperty(this,21);}
  3920.     CStringProperty Text() {return CStringProperty(this,61);}
  3921.     CEnumProperty TextMode() {return CEnumProperty(this,64);}
  3922.     CShortProperty ThreeDFrameWidth() {return CShortProperty(this,35);}
  3923.     CColorProperty ThreeDInsideHighlightColor() {return CColorProperty(this,28);}
  3924.     CColorProperty ThreeDInsideShadowColor() {return CColorProperty(this,29);}
  3925.     CEnumProperty ThreeDInsideStyle() {return CEnumProperty(this,27);}
  3926.     CShortProperty ThreeDInsideWidth() {return CShortProperty(this,30);}
  3927.     CColorProperty ThreeDOutsideHighlightColor() {return CColorProperty(this,32);}
  3928.     CColorProperty ThreeDOutsideShadowColor() {return CColorProperty(this,33);}
  3929.     CEnumProperty ThreeDOutsideStyle() {return CEnumProperty(this,31);}
  3930.     CShortProperty ThreeDOutsideWidth() {return CShortProperty(this,34);}
  3931.     CLongProperty Top() {return CLongProperty(this,5);}
  3932.     CBoolProperty Visible() {return CBoolProperty(this,22);}
  3933.     CLongProperty Width() {return CLongProperty(this,6);}
  3934.     CBoolProperty WordWrap() {return CBoolProperty(this,62);}
  3935.     CShortProperty hWnd() {return CShortProperty(this,52);}
  3936.  
  3937. };
  3938.  
  3939. #ifdef fpMFC
  3940.  
  3941. inline void AFXAPI
  3942. DDX_VBControl(CDataExchange* pDX, int nIDC, CAwareMemo*& rpAwareMemo)
  3943. {
  3944.   CVBControl* pControl = (CVBControl*)rpAwareMemo;
  3945.   DDX_VBControl(pDX, nIDC, pControl);
  3946.   rpAwareMemo = (CAwareMemo*)pControl;
  3947. }
  3948. #endif
  3949.  
  3950. // AwareMemo event indices
  3951. #define EVENT_MEM_ADVANCE 0
  3952. #define EVENT_MEM_CHANGE 1
  3953. #define EVENT_MEM_CHANGEMODE 2
  3954. #define EVENT_MEM_CLICK 3
  3955. #define EVENT_MEM_DBLCLICK 4
  3956. #define EVENT_MEM_GOTFOUCS 7
  3957. #define EVENT_MEM_KEYDOWN 8
  3958. #define EVENT_MEM_KEYPRESS 9
  3959. #define EVENT_MEM_KEYUP 10
  3960. #define EVENT_MEM_LOSTFOCUS 11
  3961. #define EVENT_MEM_MOUSEDOWN 12
  3962. #define EVENT_MEM_MOUSEMOVE 13
  3963. #define EVENT_MEM_MOUSEUP 14
  3964. #define EVENT_MEM_USERERROR 15
  3965.  
  3966. // AwareMemo property indices
  3967. #define PROP_MEM_ABOUT 74
  3968. #define PROP_MEM_ACTION 43
  3969. #define PROP_MEM_ALLOWNULL 45
  3970. #define PROP_MEM_AUTOADVANCE 47
  3971. #define PROP_MEM_AUTOBEEP 48
  3972. #define PROP_MEM_BACKCOLOR 2
  3973. #define PROP_MEM_BORDERCOLOR 37
  3974. #define PROP_MEM_BORDERGRAYAREACOLOR 75
  3975. #define PROP_MEM_BORDERSTYLE 36
  3976. #define PROP_MEM_BORDERWIDTH 38
  3977. #define PROP_MEM_CARETINSERT 49
  3978. #define PROP_MEM_CARETOVERWRITE 50
  3979. #define PROP_MEM_CONTROLTYPE 60
  3980. #define PROP_MEM_DROPSHADOWCOLOR 41
  3981. #define PROP_MEM_DROPSHADOWWIDTH 42
  3982. #define PROP_MEM_ENABLED 19
  3983. #define PROP_MEM_FONTBOLD 10
  3984. #define PROP_MEM_FONTITALIC 11
  3985. #define PROP_MEM_FONTNAME 9
  3986. #define PROP_MEM_FONTSIZE 14
  3987. #define PROP_MEM_FONTSTRIKETHRU 12
  3988. #define PROP_MEM_FONTUNDERLINE 13
  3989. #define PROP_MEM_FORECOLOR 3
  3990. #define PROP_MEM_HEIGHT 7
  3991. #define PROP_MEM_HIDESELECTION 51
  3992. #define PROP_MEM_INDEX 1
  3993. #define PROP_MEM_ISNULL 53
  3994. #define PROP_MEM_LEFT 4
  3995. #define PROP_MEM_LINECOUNT 67
  3996. #define PROP_MEM_LINEINDEX 66
  3997. #define PROP_MEM_LINELIMIT 68
  3998. #define PROP_MEM_MOUSEPOINTER 8
  3999. #define PROP_MEM_NAME 0
  4000. #define PROP_MEM_NOSPECIALKEYS 46
  4001. #define PROP_MEM_NULLCOLOR 54
  4002. #define PROP_MEM_ONFOCUSINVERT3D 39
  4003. #define PROP_MEM_ONFOCUSNOSELECT 55
  4004. #define PROP_MEM_ONFOCUSPOSITION 56
  4005. #define PROP_MEM_ONFOCUSSHADOW 40
  4006. #define PROP_MEM_PAGEWIDTH 70
  4007. #define PROP_MEM_PARENT 20
  4008. #define PROP_MEM_REDRAW 73
  4009. #define PROP_MEM_SCROLLBARS 69
  4010. #define PROP_MEM_SELBACKCOLOR 71
  4011. #define PROP_MEM_SELFORECOLOR 72
  4012. #define PROP_MEM_SELLENGTH 57
  4013. #define PROP_MEM_SELMODE 65
  4014. #define PROP_MEM_SELSTART 58
  4015. #define PROP_MEM_SELTEXT 59
  4016. #define PROP_MEM_SHOWEOL 63
  4017. #define PROP_MEM_TABINDEX 15
  4018. #define PROP_MEM_TABSTOP 16
  4019. #define PROP_MEM_TAG 21
  4020. #define PROP_MEM_TEXT 61
  4021. #define PROP_MEM_TEXTMODE 64
  4022. #define PROP_MEM_THREEDFRAMEWIDTH 35
  4023. #define PROP_MEM_THREEDINSIDEHIGHLIGHTCOLOR 28
  4024. #define PROP_MEM_THREEDINSIDESHADOWCOLOR 29
  4025. #define PROP_MEM_THREEDINSIDESTYLE 27
  4026. #define PROP_MEM_THREEDINSIDEWIDTH 30
  4027. #define PROP_MEM_THREEDOUTSIDEHIGHLIGHTCOLOR 32
  4028. #define PROP_MEM_THREEDOUTSIDESHADOWCOLOR 33
  4029. #define PROP_MEM_THREEDOUTSIDESTYLE 31
  4030. #define PROP_MEM_THREEDOUTSIDEWIDTH 34
  4031. #define PROP_MEM_TOP 5
  4032. #define PROP_MEM_VISIBLE 22
  4033. #define PROP_MEM_WIDTH 6
  4034. #define PROP_MEM_WORDWRAP 62
  4035. #define PROP_MEM_HWND 52
  4036.  
  4037. #ifdef fpMFC
  4038.  
  4039.  
  4040. // AwareMemo event macros
  4041. #define MEM_ADVANCE_DIRECTION(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  4042. #define MEM_ADVANCE_AUTOADVANCE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  4043. #define MEM_CHANGEMODE_EDITMODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  4044. #define MEM_CLICK_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  4045. #define MEM_DBLCLICK_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  4046. #define MEM_KEYDOWN_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  4047. #define MEM_KEYDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  4048. #define MEM_KEYPRESS_KEYASCII(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  4049. #define MEM_KEYUP_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,1)
  4050. #define MEM_KEYUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  4051. #define MEM_MOUSEDOWN_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,3)
  4052. #define MEM_MOUSEDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,2)
  4053. #define MEM_MOUSEDOWN_X(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,1)
  4054. #define MEM_MOUSEDOWN_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  4055. #define MEM_MOUSEMOVE_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  4056. #define MEM_MOUSEMOVE_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  4057. #define MEM_MOUSEMOVE_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  4058. #define MEM_MOUSEMOVE_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  4059. #define MEM_MOUSEUP_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  4060. #define MEM_MOUSEUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  4061. #define MEM_MOUSEUP_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  4062. #define MEM_MOUSEUP_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  4063. #define MEM_USERERROR_ERRORCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,1)
  4064. #define MEM_USERERROR_AUTOBEEP(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  4065.  
  4066. #elif fpOWL
  4067.  
  4068.  
  4069. // AwareMemo event macros
  4070. #define MEM_ADVANCE_DIRECTION(event) VBX_EVENTARGNUM(event,int,0)
  4071. #define MEM_ADVANCE_AUTOADVANCE(event) VBX_EVENTARGNUM(event,int,1)
  4072. #define MEM_CHANGEMODE_EDITMODE(event) VBX_EVENTARGNUM(event,int,0)
  4073. #define MEM_CLICK_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  4074. #define MEM_DBLCLICK_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  4075. #define MEM_KEYDOWN_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  4076. #define MEM_KEYDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  4077. #define MEM_KEYPRESS_KEYASCII(event) VBX_EVENTARGNUM(event,int,0)
  4078. #define MEM_KEYUP_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  4079. #define MEM_KEYUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  4080. #define MEM_MOUSEDOWN_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  4081. #define MEM_MOUSEDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  4082. #define MEM_MOUSEDOWN_X(event) VBX_EVENTARGNUM(event,float,2)
  4083. #define MEM_MOUSEDOWN_Y(event) VBX_EVENTARGNUM(event,float,3)
  4084. #define MEM_MOUSEMOVE_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  4085. #define MEM_MOUSEMOVE_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  4086. #define MEM_MOUSEMOVE_X(event) VBX_EVENTARGNUM(event,float,2)
  4087. #define MEM_MOUSEMOVE_Y(event) VBX_EVENTARGNUM(event,float,3)
  4088. #define MEM_MOUSEUP_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  4089. #define MEM_MOUSEUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  4090. #define MEM_MOUSEUP_X(event) VBX_EVENTARGNUM(event,float,2)
  4091. #define MEM_MOUSEUP_Y(event) VBX_EVENTARGNUM(event,float,3)
  4092. #define MEM_USERERROR_ERRORCODE(event) VBX_EVENTARGNUM(event,int,0)
  4093. #define MEM_USERERROR_AUTOBEEP(event) VBX_EVENTARGNUM(event,int,1)
  4094.  
  4095. #endif
  4096.  
  4097.  
  4098. // AwareMemo property values
  4099. #define MEM_ACTION_COPY 0
  4100. #define MEM_ACTION_CUT 1
  4101. #define MEM_ACTION_PASTE 2
  4102. #define MEM_ACTION_CLEAR 3
  4103. #define MEM_ACTION_UNDO 4
  4104. #define MEM_ACTION_SET_NULL 5
  4105. #define MEM_BORDERSTYLE_NO_BORDER 0
  4106. #define MEM_BORDERSTYLE_SINGLE_LINE 1
  4107. #define MEM_BORDERSTYLE_ROUNDED 2
  4108. #define MEM_BORDERSTYLE_DASH 3
  4109. #define MEM_BORDERSTYLE_DOT 4
  4110. #define MEM_BORDERSTYLE_DASH_DOT 5
  4111. #define MEM_BORDERSTYLE_DASH_DOT_DOT 6
  4112. #define MEM_CARETINSERT_SINGLE 0
  4113. #define MEM_CARETINSERT_DOUBLE 1
  4114. #define MEM_CARETINSERT_BLOCK 2
  4115. #define MEM_CARETINSERT_UNDERLINE 3
  4116. #define MEM_CARETINSERT_TRIANGLE 4
  4117. #define MEM_CARETOVERWRITE_SINGLE 0
  4118. #define MEM_CARETOVERWRITE_DOUBLE 1
  4119. #define MEM_CARETOVERWRITE_BLOCK 2
  4120. #define MEM_CARETOVERWRITE_UNDERLINE 3
  4121. #define MEM_CARETOVERWRITE_TRIANGLE 4
  4122. #define MEM_CONTROLTYPE_NORMAL 0
  4123. #define MEM_CONTROLTYPE_READ_ONLY 1
  4124. #define MEM_CONTROLTYPE_STATIC 2
  4125. #define MEM_MOUSEPOINTER_DEFAULT 0
  4126. #define MEM_MOUSEPOINTER_ARROW 1
  4127. #define MEM_MOUSEPOINTER_CROSS 2
  4128. #define MEM_MOUSEPOINTER_I_BEAM 3
  4129. #define MEM_MOUSEPOINTER_ICON 4
  4130. #define MEM_MOUSEPOINTER_SIZE 5
  4131. #define MEM_MOUSEPOINTER_SIZE_NE_SW 6
  4132. #define MEM_MOUSEPOINTER_SIZE_N_S 7
  4133. #define MEM_MOUSEPOINTER_SIZE_NW_SE 8
  4134. #define MEM_MOUSEPOINTER_SIZE_W_E 9
  4135. #define MEM_MOUSEPOINTER_UP_ARROW 10
  4136. #define MEM_MOUSEPOINTER_HOURGLASS 11
  4137. #define MEM_MOUSEPOINTER_NO_DROP 12
  4138. #define MEM_NOSPECIALKEYS_ALL_KEYS_ENABLED 0
  4139. #define MEM_NOSPECIALKEYS_AWARE_KEYS_DISABLED 1
  4140. #define MEM_NOSPECIALKEYS_EDIT_KEYS_DISABLED 2
  4141. #define MEM_NOSPECIALKEYS_ALL_KEYS_DISABLED 3
  4142. #define MEM_ONFOCUSPOSITION_END 0
  4143. #define MEM_ONFOCUSPOSITION_BEGINNING 1
  4144. #define MEM_ONFOCUSPOSITION_PREVIOUS 2
  4145. #define MEM_ONFOCUSPOSITION_CARET 3
  4146. #define MEM_SCROLLBARS_NONE 0
  4147. #define MEM_SCROLLBARS_HORIZONTAL_AUTO 1
  4148. #define MEM_SCROLLBARS_VERTICAL_AUTO 2
  4149. #define MEM_SCROLLBARS_BOTH_AUTO 3
  4150. #define MEM_SCROLLBARS_HORIZONTAL_FIXED 4
  4151. #define MEM_SCROLLBARS_VERTICAL_FIXED 5
  4152. #define MEM_SCROLLBARS_BOTH_FIXED 6
  4153. #define MEM_SELMODE_NORMAL 0
  4154. #define MEM_SELMODE_EXTENDED 1
  4155. #define MEM_SELMODE_LINE 2
  4156. #define MEM_TEXTMODE_NORMAL 0
  4157. #define MEM_TEXTMODE_FIRST 1
  4158. #define MEM_TEXTMODE_NEXT 2
  4159. #define MEM_TEXTMODE_LINE 3
  4160. #define MEM_THREEDINSIDESTYLE_NONE 0
  4161. #define MEM_THREEDINSIDESTYLE_LOWERED 1
  4162. #define MEM_THREEDINSIDESTYLE_RAISED 2
  4163. #define MEM_THREEDOUTSIDESTYLE_NONE 0
  4164. #define MEM_THREEDOUTSIDESTYLE_LOWERED 1
  4165. #define MEM_THREEDOUTSIDESTYLE_RAISED 2
  4166.  
  4167. // Class representing AwareComboBox control in AWARECB.VBX file
  4168.  
  4169. class CAwareComboBox : public CVBControl
  4170. {
  4171.   public:
  4172.  
  4173. #ifdef fpMFC
  4174.  
  4175.     BOOL Create(DWORD dwStyle, const RECT& rect,
  4176.                 CWnd* pParentWnd, UINT nID,
  4177.                 CFile* pFile = NULL, BOOL bAutoDelete = FALSE)
  4178.     {
  4179.       return CVBControl::Create(
  4180.                "AWARECB.VBX;AwareComboBox;",
  4181.                dwStyle, rect,
  4182.                pParentWnd, nID,
  4183.                pFile, bAutoDelete
  4184.              );
  4185.     }
  4186.  
  4187. #elif fpOWL
  4188.  
  4189.     CAwareComboBox(TWindow* parent, int id,
  4190.         const char far* title,
  4191.         int x, int y, int w, int h,
  4192.         long initLen = 0, void far* initData = 0,
  4193.         TModule* module = 0)
  4194.     : CVBControl(parent, id, "AWARECB.VBX", "AwareComboBox",
  4195.           title, x, y, w, h, initLen, initData, module) {};
  4196.  
  4197.     CAwareComboBox(TWindow* parent, int resourceId, TModule* module = 0)
  4198.     : CVBControl(parent, resourceId, module) {};
  4199.  
  4200. #endif
  4201.  
  4202.     CStringProperty About() {return CStringProperty(this,87);}
  4203.     CColorProperty BackColor() {return CColorProperty(this,2);}
  4204.     CLongProperty Col() {return CLongProperty(this,28);}
  4205.     CEnumProperty ColAlignH() {return CEnumProperty(this,61);}
  4206.     CStringProperty ColDataField() {return CStringProperty(this,62);}
  4207.     CEnumProperty ColDataFieldType() {return CEnumProperty(this,63);}
  4208.     CStringProperty ColFormat() {return CStringProperty(this,64);}
  4209.     CEnumProperty ColHeaderAlignH() {return CEnumProperty(this,66);}
  4210.     CStringProperty ColHeaderText() {return CStringProperty(this,65);}
  4211.     CBoolProperty ColHide() {return CBoolProperty(this,72);}
  4212.     CStringProperty ColList() {return CStringProperty(this,68);}
  4213.     CShortProperty ColSortSeq() {return CShortProperty(this,75);}
  4214.     CShortProperty ColSorted() {return CShortProperty(this,74);}
  4215.     CStringProperty ColText() {return CStringProperty(this,67);}
  4216.     CLongProperty ColWidth() {return CLongProperty(this,73);}
  4217.     CShortProperty ColumnEdit() {return CShortProperty(this,80);}
  4218.     CShortProperty ColumnSearch() {return CShortProperty(this,70);}
  4219.     CShortProperty ColumnSeparatorChar() {return CShortProperty(this,69);}
  4220.     CEnumProperty ColumnWidthScale() {return CEnumProperty(this,71);}
  4221.     CShortProperty Columns() {return CShortProperty(this,32);}
  4222.     CBoolProperty Enabled() {return CBoolProperty(this,19);}
  4223.     CEnumProperty FieldType() {return CEnumProperty(this,34);}
  4224.     CBoolProperty FontBold() {return CBoolProperty(this,10);}
  4225.     CBoolProperty FontItalic() {return CBoolProperty(this,11);}
  4226.     CStringProperty FontName() {return CStringProperty(this,9);}
  4227.     CFloatProperty FontSize() {return CFloatProperty(this,14);}
  4228.     CBoolProperty FontStrikethru() {return CBoolProperty(this,12);}
  4229.     CBoolProperty FontUnderline() {return CBoolProperty(this,13);}
  4230.     CColorProperty ForeColor() {return CColorProperty(this,3);}
  4231.     CEnumProperty Header3DStyle() {return CEnumProperty(this,59);}
  4232.     CEnumProperty Header3DText() {return CEnumProperty(this,92);}
  4233.     CColorProperty Header3DTextHighlightColor() {return CColorProperty(this,93);}
  4234.     CShortProperty Header3DTextOffset() {return CShortProperty(this,95);}
  4235.     CColorProperty Header3DTextShadowColor() {return CColorProperty(this,94);}
  4236.     CShortProperty Header3DWidth() {return CShortProperty(this,60);}
  4237.     CColorProperty HeaderBackColor() {return CColorProperty(this,49);}
  4238.     CBoolProperty HeaderFontBold() {return CBoolProperty(this,50);}
  4239.     CBoolProperty HeaderFontItalic() {return CBoolProperty(this,51);}
  4240.     CStringProperty HeaderFontName() {return CStringProperty(this,52);}
  4241.     CFloatProperty HeaderFontSize() {return CFloatProperty(this,53);}
  4242.     CBoolProperty HeaderFontStrike() {return CBoolProperty(this,54);}
  4243.     CBoolProperty HeaderFontUnder() {return CBoolProperty(this,55);}
  4244.     CColorProperty HeaderForeColor() {return CColorProperty(this,56);}
  4245.     CLongProperty HeaderHeight() {return CLongProperty(this,57);}
  4246.     CBoolProperty HeaderShow() {return CBoolProperty(this,58);}
  4247.     CLongProperty Height() {return CLongProperty(this,7);}
  4248.     CShortProperty Index() {return CShortProperty(this,1);}
  4249.     CLongProperty ItemData() {return CLongProperty(this,79);}
  4250.     CLongProperty Left() {return CLongProperty(this,4);}
  4251.     CColorProperty LineColor() {return CColorProperty(this,38);}
  4252.     CColorProperty LineHighlightColor() {return CColorProperty(this,36);}
  4253.     CColorProperty LineShadowColor() {return CColorProperty(this,37);}
  4254.     CEnumProperty LineStyleH() {return CEnumProperty(this,39);}
  4255.     CEnumProperty LineStyleV() {return CEnumProperty(this,40);}
  4256.     CShortProperty LineWidth() {return CShortProperty(this,41);}
  4257.     CStringProperty List() {return CStringProperty(this,31);}
  4258.     CEnumProperty List3DText() {return CEnumProperty(this,88);}
  4259.     CColorProperty List3DTextHighlightColor() {return CColorProperty(this,89);}
  4260.     CShortProperty List3DTextOffset() {return CShortProperty(this,91);}
  4261.     CColorProperty List3DTextShadowColor() {return CColorProperty(this,90);}
  4262.     CLongProperty ListCount() {return CLongProperty(this,76);}
  4263.     CLongProperty ListIndex() {return CLongProperty(this,77);}
  4264.     CLongProperty ListWidth() {return CLongProperty(this,83);}
  4265.     CShortProperty MaxDrop() {return CShortProperty(this,82);}
  4266.     CEnumProperty MousePointer() {return CEnumProperty(this,8);}
  4267.     CStringProperty Name() {return CStringProperty(this,0);}
  4268.     CShortProperty Parent() {return CShortProperty(this,20);}
  4269.     CLongProperty Row() {return CLongProperty(this,29);}
  4270.     CLongProperty RowHeight() {return CLongProperty(this,78);}
  4271.     CEnumProperty ScrollBars() {return CEnumProperty(this,27);}
  4272.     CEnumProperty Sel3DStyle() {return CEnumProperty(this,42);}
  4273.     CShortProperty Sel3DWidth() {return CShortProperty(this,47);}
  4274.     CColorProperty SelBackColor() {return CColorProperty(this,43);}
  4275.     CBoolProperty SelDrawFocusRect() {return CBoolProperty(this,48);}
  4276.     CColorProperty SelForeColor() {return CColorProperty(this,44);}
  4277.     CColorProperty SelHighlightColor() {return CColorProperty(this,45);}
  4278.     CLongProperty SelLength() {return CLongProperty(this,85);}
  4279.     CColorProperty SelShadowColor() {return CColorProperty(this,46);}
  4280.     CLongProperty SelStart() {return CLongProperty(this,84);}
  4281.     CStringProperty SelText() {return CStringProperty(this,86);}
  4282.     CEnumProperty Sorted() {return CEnumProperty(this,33);}
  4283.     CEnumProperty Style() {return CEnumProperty(this,81);}
  4284.     CShortProperty TabIndex() {return CShortProperty(this,15);}
  4285.     CShortProperty TabStop() {return CShortProperty(this,16);}
  4286.     CStringProperty Tag() {return CStringProperty(this,21);}
  4287.     CStringProperty Text() {return CStringProperty(this,30);}
  4288.     CLongProperty Top() {return CLongProperty(this,5);}
  4289.     CLongProperty TopIndex() {return CLongProperty(this,35);}
  4290.     CLongProperty VRowCount() {return CLongProperty(this,97);}
  4291.     CBoolProperty VirtualMode() {return CBoolProperty(this,96);}
  4292.     CBoolProperty Visible() {return CBoolProperty(this,22);}
  4293.     CLongProperty Width() {return CLongProperty(this,6);}
  4294.  
  4295. };
  4296.  
  4297. #ifdef fpMFC
  4298.  
  4299. inline void AFXAPI
  4300. DDX_VBControl(CDataExchange* pDX, int nIDC, CAwareComboBox*& rpAwareComboBox)
  4301. {
  4302.   CVBControl* pControl = (CVBControl*)rpAwareComboBox;
  4303.   DDX_VBControl(pDX, nIDC, pControl);
  4304.   rpAwareComboBox = (CAwareComboBox*)pControl;
  4305. }
  4306. #endif
  4307.  
  4308. // AwareComboBox event indices
  4309. #define EVENT_CBX_CLICK 0
  4310. #define EVENT_CBX_CLOSEUP 1
  4311. #define EVENT_CBX_DBLCLICK 2
  4312. #define EVENT_CBX_DROPDOWN 5
  4313. #define EVENT_CBX_GOTFOUCS 6
  4314. #define EVENT_CBX_KEYDOWN 7
  4315. #define EVENT_CBX_KEYPRESS 8
  4316. #define EVENT_CBX_KEYUP 9
  4317. #define EVENT_CBX_LOSTFOCUS 15
  4318. #define EVENT_CBX_MOUSEDOWN 16
  4319. #define EVENT_CBX_MOUSEMOVE 17
  4320. #define EVENT_CBX_MOUSEUP 18
  4321. #define EVENT_CBX_SELCHANGE 19
  4322.  
  4323. // AwareComboBox property indices
  4324. #define PROP_CBX_ABOUT 87
  4325. #define PROP_CBX_BACKCOLOR 2
  4326. #define PROP_CBX_COL 28
  4327. #define PROP_CBX_COLALIGNH 61
  4328. #define PROP_CBX_COLDATAFIELD 62
  4329. #define PROP_CBX_COLDATAFIELDTYPE 63
  4330. #define PROP_CBX_COLFORMAT 64
  4331. #define PROP_CBX_COLHEADERALIGNH 66
  4332. #define PROP_CBX_COLHEADERTEXT 65
  4333. #define PROP_CBX_COLHIDE 72
  4334. #define PROP_CBX_COLLIST 68
  4335. #define PROP_CBX_COLSORTSEQ 75
  4336. #define PROP_CBX_COLSORTED 74
  4337. #define PROP_CBX_COLTEXT 67
  4338. #define PROP_CBX_COLWIDTH 73
  4339. #define PROP_CBX_COLUMNEDIT 80
  4340. #define PROP_CBX_COLUMNSEARCH 70
  4341. #define PROP_CBX_COLUMNSEPARATORCHAR 69
  4342. #define PROP_CBX_COLUMNWIDTHSCALE 71
  4343. #define PROP_CBX_COLUMNS 32
  4344. #define PROP_CBX_ENABLED 19
  4345. #define PROP_CBX_FIELDTYPE 34
  4346. #define PROP_CBX_FONTBOLD 10
  4347. #define PROP_CBX_FONTITALIC 11
  4348. #define PROP_CBX_FONTNAME 9
  4349. #define PROP_CBX_FONTSIZE 14
  4350. #define PROP_CBX_FONTSTRIKETHRU 12
  4351. #define PROP_CBX_FONTUNDERLINE 13
  4352. #define PROP_CBX_FORECOLOR 3
  4353. #define PROP_CBX_HEADER3DSTYLE 59
  4354. #define PROP_CBX_HEADER3DTEXT 92
  4355. #define PROP_CBX_HEADER3DTEXTHIGHLIGHTCOLOR 93
  4356. #define PROP_CBX_HEADER3DTEXTOFFSET 95
  4357. #define PROP_CBX_HEADER3DTEXTSHADOWCOLOR 94
  4358. #define PROP_CBX_HEADER3DWIDTH 60
  4359. #define PROP_CBX_HEADERBACKCOLOR 49
  4360. #define PROP_CBX_HEADERFONTBOLD 50
  4361. #define PROP_CBX_HEADERFONTITALIC 51
  4362. #define PROP_CBX_HEADERFONTNAME 52
  4363. #define PROP_CBX_HEADERFONTSIZE 53
  4364. #define PROP_CBX_HEADERFONTSTRIKE 54
  4365. #define PROP_CBX_HEADERFONTUNDER 55
  4366. #define PROP_CBX_HEADERFORECOLOR 56
  4367. #define PROP_CBX_HEADERHEIGHT 57
  4368. #define PROP_CBX_HEADERSHOW 58
  4369. #define PROP_CBX_HEIGHT 7
  4370. #define PROP_CBX_INDEX 1
  4371. #define PROP_CBX_ITEMDATA 79
  4372. #define PROP_CBX_LEFT 4
  4373. #define PROP_CBX_LINECOLOR 38
  4374. #define PROP_CBX_LINEHIGHLIGHTCOLOR 36
  4375. #define PROP_CBX_LINESHADOWCOLOR 37
  4376. #define PROP_CBX_LINESTYLEH 39
  4377. #define PROP_CBX_LINESTYLEV 40
  4378. #define PROP_CBX_LINEWIDTH 41
  4379. #define PROP_CBX_LIST 31
  4380. #define PROP_CBX_LIST3DTEXT 88
  4381. #define PROP_CBX_LIST3DTEXTHIGHLIGHTCOLOR 89
  4382. #define PROP_CBX_LIST3DTEXTOFFSET 91
  4383. #define PROP_CBX_LIST3DTEXTSHADOWCOLOR 90
  4384. #define PROP_CBX_LISTCOUNT 76
  4385. #define PROP_CBX_LISTINDEX 77
  4386. #define PROP_CBX_LISTWIDTH 83
  4387. #define PROP_CBX_MAXDROP 82
  4388. #define PROP_CBX_MOUSEPOINTER 8
  4389. #define PROP_CBX_NAME 0
  4390. #define PROP_CBX_PARENT 20
  4391. #define PROP_CBX_ROW 29
  4392. #define PROP_CBX_ROWHEIGHT 78
  4393. #define PROP_CBX_SCROLLBARS 27
  4394. #define PROP_CBX_SEL3DSTYLE 42
  4395. #define PROP_CBX_SEL3DWIDTH 47
  4396. #define PROP_CBX_SELBACKCOLOR 43
  4397. #define PROP_CBX_SELDRAWFOCUSRECT 48
  4398. #define PROP_CBX_SELFORECOLOR 44
  4399. #define PROP_CBX_SELHIGHLIGHTCOLOR 45
  4400. #define PROP_CBX_SELLENGTH 85
  4401. #define PROP_CBX_SELSHADOWCOLOR 46
  4402. #define PROP_CBX_SELSTART 84
  4403. #define PROP_CBX_SELTEXT 86
  4404. #define PROP_CBX_SORTED 33
  4405. #define PROP_CBX_STYLE 81
  4406. #define PROP_CBX_TABINDEX 15
  4407. #define PROP_CBX_TABSTOP 16
  4408. #define PROP_CBX_TAG 21
  4409. #define PROP_CBX_TEXT 30
  4410. #define PROP_CBX_TOP 5
  4411. #define PROP_CBX_TOPINDEX 35
  4412. #define PROP_CBX_VROWCOUNT 97
  4413. #define PROP_CBX_VIRTUALMODE 96
  4414. #define PROP_CBX_VISIBLE 22
  4415. #define PROP_CBX_WIDTH 6
  4416.  
  4417. #ifdef fpMFC
  4418.  
  4419.  
  4420. // AwareComboBox event macros
  4421. #define CBX_KEYDOWN_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  4422. #define CBX_KEYDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  4423. #define CBX_KEYPRESS_KEYASCII(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  4424. #define CBX_KEYUP_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  4425. #define CBX_KEYUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  4426. #define CBX_MOUSEDOWN_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  4427. #define CBX_MOUSEDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  4428. #define CBX_MOUSEDOWN_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  4429. #define CBX_MOUSEDOWN_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  4430. #define CBX_MOUSEMOVE_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  4431. #define CBX_MOUSEMOVE_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  4432. #define CBX_MOUSEMOVE_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  4433. #define CBX_MOUSEMOVE_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  4434. #define CBX_MOUSEUP_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
  4435. #define CBX_MOUSEUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
  4436. #define CBX_MOUSEUP_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  4437. #define CBX_MOUSEUP_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  4438. #define CBX_SELCHANGE_CHOICE(lpParams) AFX_HLSTR_EVENTPARAMINDEX(lpParams,0)
  4439.  
  4440. #elif fpOWL
  4441.  
  4442.  
  4443. // AwareComboBox event macros
  4444. #define CBX_KEYDOWN_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  4445. #define CBX_KEYDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  4446. #define CBX_KEYPRESS_KEYASCII(event) VBX_EVENTARGNUM(event,int,0)
  4447. #define CBX_KEYUP_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  4448. #define CBX_KEYUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  4449. #define CBX_MOUSEDOWN_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  4450. #define CBX_MOUSEDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  4451. #define CBX_MOUSEDOWN_X(event) VBX_EVENTARGNUM(event,float,2)
  4452. #define CBX_MOUSEDOWN_Y(event) VBX_EVENTARGNUM(event,float,3)
  4453. #define CBX_MOUSEMOVE_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  4454. #define CBX_MOUSEMOVE_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  4455. #define CBX_MOUSEMOVE_X(event) VBX_EVENTARGNUM(event,float,2)
  4456. #define CBX_MOUSEMOVE_Y(event) VBX_EVENTARGNUM(event,float,3)
  4457. #define CBX_MOUSEUP_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  4458. #define CBX_MOUSEUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  4459. #define CBX_MOUSEUP_X(event) VBX_EVENTARGNUM(event,float,2)
  4460. #define CBX_MOUSEUP_Y(event) VBX_EVENTARGNUM(event,float,3)
  4461. #define CBX_SELCHANGE_CHOICE(event) VBX_EVENTARGSTR(event,0)
  4462.  
  4463. #endif
  4464.  
  4465.  
  4466. // AwareComboBox property values
  4467. #define CBX_COLALIGNH_LEFT 0
  4468. #define CBX_COLALIGNH_CENTER 1
  4469. #define CBX_COLALIGNH_RIGHT 2
  4470. #define CBX_COLDATAFIELDTYPE_BOOLEAN 1
  4471. #define CBX_COLDATAFIELDTYPE_INTEGER 3
  4472. #define CBX_COLDATAFIELDTYPE_LONG 4
  4473. #define CBX_COLDATAFIELDTYPE_CURRENCY 5
  4474. #define CBX_COLDATAFIELDTYPE_SINGLE 6
  4475. #define CBX_COLDATAFIELDTYPE_DOUBLE 7
  4476. #define CBX_COLDATAFIELDTYPE_TEXT 10
  4477. #define CBX_COLHEADERALIGNH_LEFT 0
  4478. #define CBX_COLHEADERALIGNH_CENTER 1
  4479. #define CBX_COLHEADERALIGNH_RIGHT 2
  4480. #define CBX_COLHEADERALIGNH_DEFAULT 3
  4481. #define CBX_COLUMNWIDTHSCALE_TWIPS 0
  4482. #define CBX_COLUMNWIDTHSCALE_PIXELS 1
  4483. #define CBX_COLUMNWIDTHSCALE_AVG_CHAR_WIDTH 2
  4484. #define CBX_COLUMNWIDTHSCALE_MAX_CHAR_WIDTH 3
  4485. #define CBX_FIELDTYPE_BOOLEAN 1
  4486. #define CBX_FIELDTYPE_INTEGER 3
  4487. #define CBX_FIELDTYPE_LONG 4
  4488. #define CBX_FIELDTYPE_CURRENCY 5
  4489. #define CBX_FIELDTYPE_SINGLE 6
  4490. #define CBX_FIELDTYPE_DOUBLE 7
  4491. #define CBX_FIELDTYPE_TEXT 10
  4492. #define CBX_HEADER3DSTYLE_NONE 0
  4493. #define CBX_HEADER3DSTYLE_SOLID 1
  4494. #define CBX_HEADER3DSTYLE_3D_LOWERED 2
  4495. #define CBX_HEADER3DSTYLE_3D_RAISED 3
  4496. #define CBX_HEADER3DTEXT_NONE 0
  4497. #define CBX_HEADER3DTEXT_ETCHED 1
  4498. #define CBX_HEADER3DTEXT_EMBOSSED 2
  4499. #define CBX_HEADER3DTEXT_ETCHED_W_SHADING 3
  4500. #define CBX_HEADER3DTEXT_EMBOSSED_W_SHADING 4
  4501. #define CBX_LINESTYLEH_NONE 0
  4502. #define CBX_LINESTYLEH_SOLID 1
  4503. #define CBX_LINESTYLEH_3D_LOWERED 2
  4504. #define CBX_LINESTYLEH_3D_RAISED 3
  4505. #define CBX_LINESTYLEV_NONE 0
  4506. #define CBX_LINESTYLEV_SOLID 1
  4507. #define CBX_LINESTYLEV_3D_LOWERED 2
  4508. #define CBX_LINESTYLEV_3D_RAISED 3
  4509. #define CBX_LIST3DTEXT_NONE 0
  4510. #define CBX_LIST3DTEXT_ETCHED 1
  4511. #define CBX_LIST3DTEXT_EMBOSSED 2
  4512. #define CBX_LIST3DTEXT_ETCHED_W_SHADING 3
  4513. #define CBX_LIST3DTEXT_EMBOSSED_W_SHADING 4
  4514. #define CBX_MOUSEPOINTER_DEFAULT 0
  4515. #define CBX_MOUSEPOINTER_ARROW 1
  4516. #define CBX_MOUSEPOINTER_CROSS 2
  4517. #define CBX_MOUSEPOINTER_I_BEAM 3
  4518. #define CBX_MOUSEPOINTER_ICON 4
  4519. #define CBX_MOUSEPOINTER_SIZE 5
  4520. #define CBX_MOUSEPOINTER_SIZE_NE_SW 6
  4521. #define CBX_MOUSEPOINTER_SIZE_N_S 7
  4522. #define CBX_MOUSEPOINTER_SIZE_NW_SE 8
  4523. #define CBX_MOUSEPOINTER_SIZE_W_E 9
  4524. #define CBX_MOUSEPOINTER_UP_ARROW 10
  4525. #define CBX_MOUSEPOINTER_HOURGLASS 11
  4526. #define CBX_MOUSEPOINTER_NO_DROP 12
  4527. #define CBX_SCROLLBARS_NONE 0
  4528. #define CBX_SCROLLBARS_HORIZONTAL 1
  4529. #define CBX_SCROLLBARS_VERTICAL 2
  4530. #define CBX_SCROLLBARS_BOTH 3
  4531. #define CBX_SEL3DSTYLE_NONE 0
  4532. #define CBX_SEL3DSTYLE_LOWERED 1
  4533. #define CBX_SEL3DSTYLE_RAISED 2
  4534. #define CBX_SORTED_NONE 0
  4535. #define CBX_SORTED_ASCENDING 1
  4536. #define CBX_SORTED_DESCENDING 2
  4537. #define CBX_STYLE_DROPDOWN_COMBO 0
  4538. #define CBX_STYLE_SIMPLE_COMBO 1
  4539. #define CBX_STYLE_DROPDOWN_LIST 2
  4540.  
  4541. // Class representing AwareListBox control in AWARELB.VBX file
  4542.  
  4543. class CAwareListBox : public CVBControl
  4544. {
  4545.   public:
  4546.  
  4547. #ifdef fpMFC
  4548.  
  4549.     BOOL Create(DWORD dwStyle, const RECT& rect,
  4550.                 CWnd* pParentWnd, UINT nID,
  4551.                 CFile* pFile = NULL, BOOL bAutoDelete = FALSE)
  4552.     {
  4553.       return CVBControl::Create(
  4554.                "AWARELB.VBX;AwareListBox;",
  4555.                dwStyle, rect,
  4556.                pParentWnd, nID,
  4557.                pFile, bAutoDelete
  4558.              );
  4559.     }
  4560.  
  4561. #elif fpOWL
  4562.  
  4563.     CAwareListBox(TWindow* parent, int id,
  4564.         const char far* title,
  4565.         int x, int y, int w, int h,
  4566.         long initLen = 0, void far* initData = 0,
  4567.         TModule* module = 0)
  4568.     : CVBControl(parent, id, "AWARELB.VBX", "AwareListBox",
  4569.           title, x, y, w, h, initLen, initData, module) {};
  4570.  
  4571.     CAwareListBox(TWindow* parent, int resourceId, TModule* module = 0)
  4572.     : CVBControl(parent, resourceId, module) {};
  4573.  
  4574. #endif
  4575.  
  4576.     CStringProperty About() {return CStringProperty(this,90);}
  4577.     CShortProperty Action() {return CShortProperty(this,84);}
  4578.     CEnumProperty AutoSearch() {return CEnumProperty(this,85);}
  4579.     CColorProperty BackColor() {return CColorProperty(this,2);}
  4580.     CLongProperty Col() {return CLongProperty(this,28);}
  4581.     CEnumProperty ColAlignH() {return CEnumProperty(this,61);}
  4582.     CStringProperty ColDataField() {return CStringProperty(this,62);}
  4583.     CEnumProperty ColDataFieldType() {return CEnumProperty(this,63);}
  4584.     CStringProperty ColFormat() {return CStringProperty(this,64);}
  4585.     CEnumProperty ColHeaderAlignH() {return CEnumProperty(this,66);}
  4586.     CStringProperty ColHeaderText() {return CStringProperty(this,65);}
  4587.     CBoolProperty ColHide() {return CBoolProperty(this,72);}
  4588.     CStringProperty ColList() {return CStringProperty(this,68);}
  4589.     CShortProperty ColSortSeq() {return CShortProperty(this,75);}
  4590.     CShortProperty ColSorted() {return CShortProperty(this,74);}
  4591.     CStringProperty ColText() {return CStringProperty(this,67);}
  4592.     CLongProperty ColWidth() {return CLongProperty(this,73);}
  4593.     CShortProperty ColumnSearch() {return CShortProperty(this,70);}
  4594.     CShortProperty ColumnSeparatorChar() {return CShortProperty(this,69);}
  4595.     CEnumProperty ColumnWidthScale() {return CEnumProperty(this,71);}
  4596.     CShortProperty Columns() {return CShortProperty(this,32);}
  4597.     CBoolProperty Enabled() {return CBoolProperty(this,19);}
  4598.     CEnumProperty FieldType() {return CEnumProperty(this,34);}
  4599.     CBoolProperty FontBold() {return CBoolProperty(this,10);}
  4600.     CBoolProperty FontItalic() {return CBoolProperty(this,11);}
  4601.     CStringProperty FontName() {return CStringProperty(this,9);}
  4602.     CFloatProperty FontSize() {return CFloatProperty(this,14);}
  4603.     CBoolProperty FontStrikethru() {return CBoolProperty(this,12);}
  4604.     CBoolProperty FontUnderline() {return CBoolProperty(this,13);}
  4605.     CColorProperty ForeColor() {return CColorProperty(this,3);}
  4606.     CEnumProperty Header3DStyle() {return CEnumProperty(this,59);}
  4607.     CEnumProperty Header3DText() {return CEnumProperty(this,95);}
  4608.     CColorProperty Header3DTextHighlightColor() {return CColorProperty(this,96);}
  4609.     CShortProperty Header3DTextOffset() {return CShortProperty(this,98);}
  4610.     CColorProperty Header3DTextShadowColor() {return CColorProperty(this,97);}
  4611.     CShortProperty Header3DWidth() {return CShortProperty(this,60);}
  4612.     CColorProperty HeaderBackColor() {return CColorProperty(this,49);}
  4613.     CBoolProperty HeaderFontBold() {return CBoolProperty(this,50);}
  4614.     CBoolProperty HeaderFontItalic() {return CBoolProperty(this,51);}
  4615.     CStringProperty HeaderFontName() {return CStringProperty(this,52);}
  4616.     CFloatProperty HeaderFontSize() {return CFloatProperty(this,53);}
  4617.     CBoolProperty HeaderFontStrike() {return CBoolProperty(this,54);}
  4618.     CBoolProperty HeaderFontUnder() {return CBoolProperty(this,55);}
  4619.     CColorProperty HeaderForeColor() {return CColorProperty(this,56);}
  4620.     CLongProperty HeaderHeight() {return CLongProperty(this,57);}
  4621.     CBoolProperty HeaderShow() {return CBoolProperty(this,58);}
  4622.     CLongProperty Height() {return CLongProperty(this,7);}
  4623.     CShortProperty Index() {return CShortProperty(this,1);}
  4624.     CLongProperty ItemData() {return CLongProperty(this,79);}
  4625.     CLongProperty Left() {return CLongProperty(this,4);}
  4626.     CColorProperty LineColor() {return CColorProperty(this,38);}
  4627.     CColorProperty LineHighlightColor() {return CColorProperty(this,36);}
  4628.     CColorProperty LineShadowColor() {return CColorProperty(this,37);}
  4629.     CEnumProperty LineStyleH() {return CEnumProperty(this,39);}
  4630.     CEnumProperty LineStyleV() {return CEnumProperty(this,40);}
  4631.     CShortProperty LineWidth() {return CShortProperty(this,41);}
  4632.     CStringProperty List() {return CStringProperty(this,31);}
  4633.     CEnumProperty List3DText() {return CEnumProperty(this,91);}
  4634.     CColorProperty List3DTextHighlightColor() {return CColorProperty(this,92);}
  4635.     CShortProperty List3DTextOffset() {return CShortProperty(this,94);}
  4636.     CColorProperty List3DTextShadowColor() {return CColorProperty(this,93);}
  4637.     CLongProperty ListCount() {return CLongProperty(this,76);}
  4638.     CLongProperty ListIndex() {return CLongProperty(this,77);}
  4639.     CEnumProperty MousePointer() {return CEnumProperty(this,8);}
  4640.     CEnumProperty MultiSelect() {return CEnumProperty(this,80);}
  4641.     CStringProperty Name() {return CStringProperty(this,0);}
  4642.     CLongProperty NewIndex() {return CLongProperty(this,89);}
  4643.     CShortProperty Parent() {return CShortProperty(this,20);}
  4644.     CLongProperty Row() {return CLongProperty(this,29);}
  4645.     CLongProperty RowHeight() {return CLongProperty(this,78);}
  4646.     CEnumProperty ScrollBars() {return CEnumProperty(this,27);}
  4647.     CLongProperty SearchIndex() {return CLongProperty(this,86);}
  4648.     CEnumProperty SearchMethod() {return CEnumProperty(this,87);}
  4649.     CStringProperty SearchText() {return CStringProperty(this,88);}
  4650.     CEnumProperty Sel3DStyle() {return CEnumProperty(this,42);}
  4651.     CShortProperty Sel3DWidth() {return CShortProperty(this,47);}
  4652.     CColorProperty SelBackColor() {return CColorProperty(this,43);}
  4653.     CBoolProperty SelDrawFocusRect() {return CBoolProperty(this,48);}
  4654.     CColorProperty SelForeColor() {return CColorProperty(this,44);}
  4655.     CColorProperty SelHighlightColor() {return CColorProperty(this,45);}
  4656.     CLongProperty SelMax() {return CLongProperty(this,83);}
  4657.     CColorProperty SelShadowColor() {return CColorProperty(this,46);}
  4658.     CBoolProperty Selected() {return CBoolProperty(this,82);}
  4659.     CEnumProperty Sorted() {return CEnumProperty(this,33);}
  4660.     CShortProperty TabIndex() {return CShortProperty(this,15);}
  4661.     CShortProperty TabStop() {return CShortProperty(this,16);}
  4662.     CStringProperty Tag() {return CStringProperty(this,21);}
  4663.     CStringProperty Text() {return CStringProperty(this,30);}
  4664.     CLongProperty Top() {return CLongProperty(this,5);}
  4665.     CLongProperty TopIndex() {return CLongProperty(this,35);}
  4666.     CLongProperty VRowCount() {return CLongProperty(this,100);}
  4667.     CBoolProperty VirtualMode() {return CBoolProperty(this,99);}
  4668.     CBoolProperty Visible() {return CBoolProperty(this,22);}
  4669.     CLongProperty Width() {return CLongProperty(this,6);}
  4670.     CBoolProperty WrapList() {return CBoolProperty(this,81);}
  4671.  
  4672. };
  4673.  
  4674. #ifdef fpMFC
  4675.  
  4676. inline void AFXAPI
  4677. DDX_VBControl(CDataExchange* pDX, int nIDC, CAwareListBox*& rpAwareListBox)
  4678. {
  4679.   CVBControl* pControl = (CVBControl*)rpAwareListBox;
  4680.   DDX_VBControl(pDX, nIDC, pControl);
  4681.   rpAwareListBox = (CAwareListBox*)pControl;
  4682. }
  4683. #endif
  4684.  
  4685. // AwareListBox event indices
  4686. #define EVENT_LBX_CLICK 0
  4687. #define EVENT_LBX_DBLCLICK 1
  4688. #define EVENT_LBX_GOTFOUCS 4
  4689. #define EVENT_LBX_KEYDOWN 5
  4690. #define EVENT_LBX_KEYPRESS 6
  4691. #define EVENT_LBX_KEYUP 7
  4692. #define EVENT_LBX_LOSTFOCUS 13
  4693. #define EVENT_LBX_MOUSEDOWN 14
  4694. #define EVENT_LBX_MOUSEMOVE 15
  4695. #define EVENT_LBX_MOUSEUP 16
  4696. #define EVENT_LBX_SELCHANGE 17
  4697.  
  4698. // AwareListBox property indices
  4699. #define PROP_LBX_ABOUT 90
  4700. #define PROP_LBX_ACTION 84
  4701. #define PROP_LBX_AUTOSEARCH 85
  4702. #define PROP_LBX_BACKCOLOR 2
  4703. #define PROP_LBX_COL 28
  4704. #define PROP_LBX_COLALIGNH 61
  4705. #define PROP_LBX_COLDATAFIELD 62
  4706. #define PROP_LBX_COLDATAFIELDTYPE 63
  4707. #define PROP_LBX_COLFORMAT 64
  4708. #define PROP_LBX_COLHEADERALIGNH 66
  4709. #define PROP_LBX_COLHEADERTEXT 65
  4710. #define PROP_LBX_COLHIDE 72
  4711. #define PROP_LBX_COLLIST 68
  4712. #define PROP_LBX_COLSORTSEQ 75
  4713. #define PROP_LBX_COLSORTED 74
  4714. #define PROP_LBX_COLTEXT 67
  4715. #define PROP_LBX_COLWIDTH 73
  4716. #define PROP_LBX_COLUMNSEARCH 70
  4717. #define PROP_LBX_COLUMNSEPARATORCHAR 69
  4718. #define PROP_LBX_COLUMNWIDTHSCALE 71
  4719. #define PROP_LBX_COLUMNS 32
  4720. #define PROP_LBX_ENABLED 19
  4721. #define PROP_LBX_FIELDTYPE 34
  4722. #define PROP_LBX_FONTBOLD 10
  4723. #define PROP_LBX_FONTITALIC 11
  4724. #define PROP_LBX_FONTNAME 9
  4725. #define PROP_LBX_FONTSIZE 14
  4726. #define PROP_LBX_FONTSTRIKETHRU 12
  4727. #define PROP_LBX_FONTUNDERLINE 13
  4728. #define PROP_LBX_FORECOLOR 3
  4729. #define PROP_LBX_HEADER3DSTYLE 59
  4730. #define PROP_LBX_HEADER3DTEXT 95
  4731. #define PROP_LBX_HEADER3DTEXTHIGHLIGHTCOLOR 96
  4732. #define PROP_LBX_HEADER3DTEXTOFFSET 98
  4733. #define PROP_LBX_HEADER3DTEXTSHADOWCOLOR 97
  4734. #define PROP_LBX_HEADER3DWIDTH 60
  4735. #define PROP_LBX_HEADERBACKCOLOR 49
  4736. #define PROP_LBX_HEADERFONTBOLD 50
  4737. #define PROP_LBX_HEADERFONTITALIC 51
  4738. #define PROP_LBX_HEADERFONTNAME 52
  4739. #define PROP_LBX_HEADERFONTSIZE 53
  4740. #define PROP_LBX_HEADERFONTSTRIKE 54
  4741. #define PROP_LBX_HEADERFONTUNDER 55
  4742. #define PROP_LBX_HEADERFORECOLOR 56
  4743. #define PROP_LBX_HEADERHEIGHT 57
  4744. #define PROP_LBX_HEADERSHOW 58
  4745. #define PROP_LBX_HEIGHT 7
  4746. #define PROP_LBX_INDEX 1
  4747. #define PROP_LBX_ITEMDATA 79
  4748. #define PROP_LBX_LEFT 4
  4749. #define PROP_LBX_LINECOLOR 38
  4750. #define PROP_LBX_LINEHIGHLIGHTCOLOR 36
  4751. #define PROP_LBX_LINESHADOWCOLOR 37
  4752. #define PROP_LBX_LINESTYLEH 39
  4753. #define PROP_LBX_LINESTYLEV 40
  4754. #define PROP_LBX_LINEWIDTH 41
  4755. #define PROP_LBX_LIST 31
  4756. #define PROP_LBX_LIST3DTEXT 91
  4757. #define PROP_LBX_LIST3DTEXTHIGHLIGHTCOLOR 92
  4758. #define PROP_LBX_LIST3DTEXTOFFSET 94
  4759. #define PROP_LBX_LIST3DTEXTSHADOWCOLOR 93
  4760. #define PROP_LBX_LISTCOUNT 76
  4761. #define PROP_LBX_LISTINDEX 77
  4762. #define PROP_LBX_MOUSEPOINTER 8
  4763. #define PROP_LBX_MULTISELECT 80
  4764. #define PROP_LBX_NAME 0
  4765. #define PROP_LBX_NEWINDEX 89
  4766. #define PROP_LBX_PARENT 20
  4767. #define PROP_LBX_ROW 29
  4768. #define PROP_LBX_ROWHEIGHT 78
  4769. #define PROP_LBX_SCROLLBARS 27
  4770. #define PROP_LBX_SEARCHINDEX 86
  4771. #define PROP_LBX_SEARCHMETHOD 87
  4772. #define PROP_LBX_SEARCHTEXT 88
  4773. #define PROP_LBX_SEL3DSTYLE 42
  4774. #define PROP_LBX_SEL3DWIDTH 47
  4775. #define PROP_LBX_SELBACKCOLOR 43
  4776. #define PROP_LBX_SELDRAWFOCUSRECT 48
  4777. #define PROP_LBX_SELFORECOLOR 44
  4778. #define PROP_LBX_SELHIGHLIGHTCOLOR 45
  4779. #define PROP_LBX_SELMAX 83
  4780. #define PROP_LBX_SELSHADOWCOLOR 46
  4781. #define PROP_LBX_SELECTED 82
  4782. #define PROP_LBX_SORTED 33
  4783. #define PROP_LBX_TABINDEX 15
  4784. #define PROP_LBX_TABSTOP 16
  4785. #define PROP_LBX_TAG 21
  4786. #define PROP_LBX_TEXT 30
  4787. #define PROP_LBX_TOP 5
  4788. #define PROP_LBX_TOPINDEX 35
  4789. #define PROP_LBX_VROWCOUNT 100
  4790. #define PROP_LBX_VIRTUALMODE 99
  4791. #define PROP_LBX_VISIBLE 22
  4792. #define PROP_LBX_WIDTH 6
  4793. #define PROP_LBX_WRAPLIST 81
  4794.  
  4795. #ifdef fpMFC
  4796.  
  4797.  
  4798. // AwareListBox event macros
  4799. #define LBX_KEYDOWN_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
  4800. #define LBX_KEYDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  4801. #define LBX_KEYPRESS_KEYASCII(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
  4802. #define LBX_KEYUP_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,1)
  4803. #define LBX_KEYUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  4804. #define LBX_MOUSEDOWN_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,3)
  4805. #define LBX_MOUSEDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,2)
  4806. #define LBX_MOUSEDOWN_X(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,1)
  4807. #define LBX_MOUSEDOWN_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(float,lpParams,0)
  4808. #define LBX_MOUSEMOVE_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX((null),lpParams,3)
  4809. #define LBX_MOUSEMOVE_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX((null),lpParams,2)
  4810. #define LBX_MOUSEMOVE_X(lpParams) AFX_NUM_EVENTPARAMINDEX((null),lpParams,1)
  4811. #define LBX_MOUSEMOVE_Y(lpParams) AFX_NUM_EVENTPARAMINDEX((null),lpParams,0)
  4812. #define LBX_MOUSEUP_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX((null),lpParams,3)
  4813. #define LBX_MOUSEUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX((null),lpParams,2)
  4814. #define LBX_MOUSEUP_X(lpParams) AFX_NUM_EVENTPARAMINDEX((null),lpParams,1)
  4815. #define LBX_MOUSEUP_Y(lpParams) AFX_NUM_EVENTPARAMINDEX((null),lpParams,0)
  4816.  
  4817. #elif fpOWL
  4818.  
  4819.  
  4820. // AwareListBox event macros
  4821. #define LBX_KEYDOWN_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  4822. #define LBX_KEYDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  4823. #define LBX_KEYPRESS_KEYASCII(event) VBX_EVENTARGNUM(event,int,0)
  4824. #define LBX_KEYUP_KEYCODE(event) VBX_EVENTARGNUM(event,int,0)
  4825. #define LBX_KEYUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  4826. #define LBX_MOUSEDOWN_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  4827. #define LBX_MOUSEDOWN_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  4828. #define LBX_MOUSEDOWN_X(event) VBX_EVENTARGNUM(event,float,2)
  4829. #define LBX_MOUSEDOWN_Y(event) VBX_EVENTARGNUM(event,float,3)
  4830. #define LBX_MOUSEMOVE_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  4831. #define LBX_MOUSEMOVE_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  4832. #define LBX_MOUSEMOVE_X(event) VBX_EVENTARGNUM(event,float,2)
  4833. #define LBX_MOUSEMOVE_Y(event) VBX_EVENTARGNUM(event,float,3)
  4834. #define LBX_MOUSEUP_BUTTON(event) VBX_EVENTARGNUM(event,int,0)
  4835. #define LBX_MOUSEUP_SHIFT(event) VBX_EVENTARGNUM(event,int,1)
  4836. #define LBX_MOUSEUP_X(event) VBX_EVENTARGNUM(event,float,2)
  4837. #define LBX_MOUSEUP_Y(event) VBX_EVENTARGNUM(event,float,3)
  4838.  
  4839. #endif
  4840.  
  4841.  
  4842. // AwareListBox property values
  4843. #define LBX_AUTOSEARCH_NONE 0
  4844. #define LBX_AUTOSEARCH_SINGLE_CHAR 1
  4845. #define LBX_AUTOSEARCH_MULTIPLE_CHAR 2
  4846. #define LBX_COLALIGNH_LEFT 0
  4847. #define LBX_COLALIGNH_CENTER 1
  4848. #define LBX_COLALIGNH_RIGHT 2
  4849. #define LBX_COLDATAFIELDTYPE_BOOLEAN 1
  4850. #define LBX_COLDATAFIELDTYPE_INTEGER 3
  4851. #define LBX_COLDATAFIELDTYPE_LONG 4
  4852. #define LBX_COLDATAFIELDTYPE_CURRENCY 5
  4853. #define LBX_COLDATAFIELDTYPE_SINGLE 6
  4854. #define LBX_COLDATAFIELDTYPE_DOUBLE 7
  4855. #define LBX_COLDATAFIELDTYPE_TEXT 10
  4856. #define LBX_COLHEADERALIGNH_LEFT 0
  4857. #define LBX_COLHEADERALIGNH_CENTER 1
  4858. #define LBX_COLHEADERALIGNH_RIGHT 2
  4859. #define LBX_COLHEADERALIGNH_DEFAULT 3
  4860. #define LBX_COLUMNWIDTHSCALE_TWIPS 0
  4861. #define LBX_COLUMNWIDTHSCALE_PIXELS 1
  4862. #define LBX_COLUMNWIDTHSCALE_AVG_CHAR_WIDTH 2
  4863. #define LBX_COLUMNWIDTHSCALE_MAX_CHAR_WIDTH 3
  4864. #define LBX_FIELDTYPE_BOOLEAN 1
  4865. #define LBX_FIELDTYPE_INTEGER 3
  4866. #define LBX_FIELDTYPE_LONG 4
  4867. #define LBX_FIELDTYPE_CURRENCY 5
  4868. #define LBX_FIELDTYPE_SINGLE 6
  4869. #define LBX_FIELDTYPE_DOUBLE 7
  4870. #define LBX_FIELDTYPE_TEXT 10
  4871. #define LBX_HEADER3DSTYLE_NONE 0
  4872. #define LBX_HEADER3DSTYLE_SOLID 1
  4873. #define LBX_HEADER3DSTYLE_3D_LOWERED 2
  4874. #define LBX_HEADER3DSTYLE_3D_RAISED 3
  4875. #define LBX_HEADER3DTEXT_NONE 0
  4876. #define LBX_HEADER3DTEXT_ETCHED 1
  4877. #define LBX_HEADER3DTEXT_EMBOSSED 2
  4878. #define LBX_HEADER3DTEXT_ETCHED_W_SHADING 3
  4879. #define LBX_HEADER3DTEXT_EMBOSSED_W_SHADING 4
  4880. #define LBX_LINESTYLEH_NONE 0
  4881. #define LBX_LINESTYLEH_SOLID 1
  4882. #define LBX_LINESTYLEH_3D_LOWERED 2
  4883. #define LBX_LINESTYLEH_3D_RAISED 3
  4884. #define LBX_LINESTYLEV_NONE 0
  4885. #define LBX_LINESTYLEV_SOLID 1
  4886. #define LBX_LINESTYLEV_3D_LOWERED 2
  4887. #define LBX_LINESTYLEV_3D_RAISED 3
  4888. #define LBX_LIST3DTEXT_NONE 0
  4889. #define LBX_LIST3DTEXT_ETCHED 1
  4890. #define LBX_LIST3DTEXT_EMBOSSED 2
  4891. #define LBX_LIST3DTEXT_ETCHED_W_SHADING 3
  4892. #define LBX_LIST3DTEXT_EMBOSSED_W_SHADING 4
  4893. #define LBX_MOUSEPOINTER_DEFAULT 0
  4894. #define LBX_MOUSEPOINTER_ARROW 1
  4895. #define LBX_MOUSEPOINTER_CROSS 2
  4896. #define LBX_MOUSEPOINTER_I_BEAM 3
  4897. #define LBX_MOUSEPOINTER_ICON 4
  4898. #define LBX_MOUSEPOINTER_SIZE 5
  4899. #define LBX_MOUSEPOINTER_SIZE_NE_SW 6
  4900. #define LBX_MOUSEPOINTER_SIZE_N_S 7
  4901. #define LBX_MOUSEPOINTER_SIZE_NW_SE 8
  4902. #define LBX_MOUSEPOINTER_SIZE_W_E 9
  4903. #define LBX_MOUSEPOINTER_UP_ARROW 10
  4904. #define LBX_MOUSEPOINTER_HOURGLASS 11
  4905. #define LBX_MOUSEPOINTER_NO_DROP 12
  4906. #define LBX_MULTISELECT_NONE 0
  4907. #define LBX_MULTISELECT_SIMPLE 1
  4908. #define LBX_MULTISELECT_EXTENDED 2
  4909. #define LBX_SCROLLBARS_NONE 0
  4910. #define LBX_SCROLLBARS_HORIZONTAL 1
  4911. #define LBX_SCROLLBARS_VERTICAL 2
  4912. #define LBX_SCROLLBARS_BOTH 3
  4913. #define LBX_SEARCHMETHOD_EXACT_MATCH 0
  4914. #define LBX_SEARCHMETHOD_NEXT_GREATEST 1
  4915. #define LBX_SEL3DSTYLE_NONE 0
  4916. #define LBX_SEL3DSTYLE_LOWERED 1
  4917. #define LBX_SEL3DSTYLE_RAISED 2
  4918. #define LBX_SORTED_NONE 0
  4919. #define LBX_SORTED_ASCENDING 1
  4920. #define LBX_SORTED_DESCENDING 2
  4921.  
  4922. #endif
  4923.