home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 10 / 10.iso / l / l410 / 1.ddi / CDK / VBAPI.H$ / VBAPI.bin
Encoding:
Text File  |  1991-10-14  |  19.2 KB  |  525 lines

  1. //---------------------------------------------------------------------------
  2. //
  3. //  VBAPI.H -
  4. //
  5. //    Include file for the Visual Basic Custom Control and DLL
  6. //    application programming interface.
  7. //
  8. //---------------------------------------------------------------------------
  9.  
  10. #define VB_VERSION  0x0100
  11.  
  12. //---------------------------------------------------------------------------
  13. // General types and modifiers
  14. //---------------------------------------------------------------------------
  15.  
  16. typedef   signed short  SHORT;          // ad lib
  17. typedef unsigned short  USHORT;         // ad lib
  18. typedef unsigned short  FSHORT;         // fs     (flags)
  19. typedef   signed char   CHAR;           // c
  20. typedef unsigned char    ENUM;        // enum
  21. typedef unsigned long   ULONG;          // ul
  22. typedef unsigned long   FLONG;          // fl     (flags)
  23. typedef LPSTR        HSZ;        // hsz
  24. typedef LPVOID        HLSTR;        // hlstr
  25. typedef LPVOID        HCTL;        // hctl
  26. typedef HANDLE        HFORMFILE;    // hformfile
  27. typedef USHORT        ERR;        // err
  28. typedef WORD        HPIC;        // hpic
  29. typedef LONG  (FAR *PFNWP)   ( HWND, USHORT, USHORT, LONG );       // pfnwp
  30. typedef LONG  (FAR *PCTLPROC)( HCTL, HWND, USHORT, USHORT, LONG ); // pctlproc
  31.  
  32. //---------------------------------------------------------------------------
  33. // Property data structure
  34. //---------------------------------------------------------------------------
  35. typedef struct
  36. {
  37.     LONG   data;        // Data for Get/Set
  38.     USHORT cindex;        // Number of indecies
  39.     struct
  40.     {
  41.     USHORT datatype;    // Type of nth index (Currently always DT_SHORT)
  42.     LONG   data;        // Value of nth index
  43.     } index[1];         // Currently, only 1-dim arrays supported
  44. } DATASTRUCT;
  45.  
  46. typedef DATASTRUCT FAR    *LPDATASTRUCT;    // pds
  47. typedef DATASTRUCT NEAR *NPDATASTRUCT;    // npds
  48.  
  49.  
  50. //---------------------------------------------------------------------------
  51. // COLOR - a Windows RGB DWORD value.
  52. //---------------------------------------------------------------------------
  53. typedef unsigned long    COLOR;
  54. typedef COLOR FAR *    LPCOLOR;    // lpcolor
  55.  
  56. #define COLOR_DEFBITON    0x80000000    // bit set -> Win SysColor, not RGB
  57.  
  58. // Get RGB value from a color.
  59. #define RGBCOLOR(clr) \
  60.   (((clr)&COLOR_DEFBITON)?(GetSysColor((int)((clr)&0xFFFF))):((clr)&0xFFFFFF))
  61.  
  62.  
  63. //---------------------------------------------------------------------------
  64. // VISUAL BASIC variable types
  65. //---------------------------------------------------------------------------
  66.  
  67. #define ET_I2        1   // 16 bit signed integer scalar or array variable
  68. #define ET_I4        2   // 32 bit signed integer scalar or array variable
  69. #define ET_R4        3
  70. #define ET_R8        4   // 64 bit real scalar or array variable
  71. #define ET_CY        5   // 64 bit currency scalar or array variable
  72. #define ET_SD        6   // string scalar or array variable
  73. #define ET_FS        7   // fixed-length string variable
  74.  
  75. //---------------------------------------------------------------------------
  76. // Control Property definitions and structures.
  77. //---------------------------------------------------------------------------
  78.  
  79. #define PF_datatype        0x000000FFL
  80. #define PF_fPropArray        0x00000100L
  81. #define PF_fSetData        0x00000200L
  82. #define PF_fSetMsg        0x00000400L
  83. #define PF_fNoShow        0x00000800L
  84. #define PF_fNoRuntimeW        0x00001000L
  85. #define PF_fGetData        0x00002000L
  86. #define PF_fGetMsg        0x00004000L
  87. #define PF_fSetCheck        0x00008000L
  88. #define PF_fSaveData        0x00010000L
  89. #define PF_fSaveMsg        0x00020000L
  90. #define PF_fGetHszMsg        0x00040000L
  91. #define PF_fUpdateOnEdit    0x00080000L
  92. #define PF_fEditable        0x00100000L
  93. #define PF_fPreHwnd        0x00200000L
  94. #define PF_fDefVal        0x00400000L
  95. #define PF_fNoInitDef        0x00800000L
  96.  
  97. typedef struct tagPROPINFO
  98. {
  99.     PSTR    npszName;
  100.     FLONG    fl;            // PF_ flags
  101.     BYTE    offsetData;        // Offset into static structure
  102.     BYTE    infoData;        // 0 or _INFO value for bitfield
  103.     LONG    dataDefault;        // 0 or _INFO value for bitfield
  104.     PSTR    npszEnumList;        // For type == DT_ENUM, this is
  105.                     // a near ptr to a string containing
  106.                     // all the values to be displayed
  107.                     // in the popup enumeration listbox.
  108.                     // Each value is an sz, with an
  109.                     // empty sz indicated the end of list.
  110.     BYTE    enumMax;        // Maximum legal value for enum.
  111. }
  112. PROPINFO;
  113.  
  114. typedef PROPINFO  FAR  * LPPROPINFO;
  115. typedef PROPINFO  NEAR * NPPROPINFO;
  116. typedef PROPINFO  NEAR *  PPROPINFO;
  117. typedef PPROPINFO FAR  * LPPROPLIST;
  118. typedef PPROPINFO NEAR * NPPROPLIST;
  119. typedef PPROPINFO NEAR *  PPROPLIST;
  120.  
  121.  
  122. // Values for PROPINFO PF_datatype
  123.  
  124. #define DT_HSZ          0x01
  125. #define DT_SHORT      0x02
  126. #define DT_LONG       0x03
  127. #define DT_BOOL       0x04
  128. #define DT_COLOR      0x05
  129. #define DT_ENUM       0x06
  130. #define DT_REAL       0x07
  131. #define DT_XPOS       0x08    // Scaled from float to long twips
  132. #define DT_XSIZE      0x09    //   _SIZE scales without origin
  133. #define DT_YPOS       0x0A    //   _POS subtracts origin
  134. #define DT_YSIZE      0x0B    // uses parent's scale properties
  135. #define DT_PICTURE    0x0C
  136.  
  137. //---------------------------------------------------------------------------
  138. // Control event definitions and structures.
  139. //---------------------------------------------------------------------------
  140.  
  141. #define EF_fNoUnload    0x00000001L
  142.  
  143.  
  144. typedef struct tagEVENTINFO
  145. {
  146.     PSTR    npszName;    // event procedure name suffix
  147.     USHORT    cParms;     // number of parameters
  148.     USHORT    cwParms;    // # words of parameters
  149.     PWORD    npParmTypes;    // list of parameter types
  150.     PSTR    npszParmProf;    // event parameter profile string
  151.     FLONG    fl;        // EF_ flags
  152. }
  153. EVENTINFO;
  154.  
  155. typedef EVENTINFO   NEAR * PEVENTINFO;
  156. typedef PEVENTINFO  NEAR * PPEVENTINFO;
  157. typedef EVENTINFO   NEAR * NPEVENTINFO;
  158. typedef EVENTINFO   FAR  * LPEVENTINFO;
  159. typedef NPEVENTINFO FAR  * LPEVENTLIST;
  160. typedef NPEVENTINFO NEAR * NPEVENTLIST;
  161.  
  162. //---------------------------------------------------------------------------
  163. // Standard control event list
  164. //---------------------------------------------------------------------------
  165.  
  166. #define IEVENT_STD_CLICK    0x0000
  167. #define IEVENT_STD_DBLCLICK    0x0001
  168. #define IEVENT_STD_DRAGDROP    0x0002
  169. #define IEVENT_STD_DRAGOVER    0x0003
  170. #define IEVENT_STD_GOTFOCUS    0x0004
  171. #define IEVENT_STD_KEYDOWN    0x0005
  172. #define IEVENT_STD_KEYPRESS    0x0006
  173. #define IEVENT_STD_KEYUP    0x0007
  174. #define IEVENT_STD_LOSTFOCUS    0x0008
  175. #define IEVENT_STD_MOUSEDOWN    0x0009
  176. #define IEVENT_STD_MOUSEMOVE    0x000A
  177. #define IEVENT_STD_MOUSEUP    0x000B
  178.  
  179. #define PEVENTINFO_STD_CLICK        ((PEVENTINFO)~IEVENT_STD_CLICK)
  180. #define PEVENTINFO_STD_DBLCLICK     ((PEVENTINFO)~IEVENT_STD_DBLCLICK)
  181. #define PEVENTINFO_STD_DRAGDROP     ((PEVENTINFO)~IEVENT_STD_DRAGDROP)
  182. #define PEVENTINFO_STD_DRAGOVER     ((PEVENTINFO)~IEVENT_STD_DRAGOVER)
  183. #define PEVENTINFO_STD_GOTFOCUS     ((PEVENTINFO)~IEVENT_STD_GOTFOCUS)
  184. #define PEVENTINFO_STD_KEYDOWN        ((PEVENTINFO)~IEVENT_STD_KEYDOWN)
  185. #define PEVENTINFO_STD_KEYPRESS     ((PEVENTINFO)~IEVENT_STD_KEYPRESS)
  186. #define PEVENTINFO_STD_KEYUP        ((PEVENTINFO)~IEVENT_STD_KEYUP)
  187. #define PEVENTINFO_STD_LOSTFOCUS    ((PEVENTINFO)~IEVENT_STD_LOSTFOCUS)
  188. #define PEVENTINFO_STD_MOUSEDOWN    ((PEVENTINFO)~IEVENT_STD_MOUSEDOWN)
  189. #define PEVENTINFO_STD_MOUSEMOVE    ((PEVENTINFO)~IEVENT_STD_MOUSEMOVE)
  190. #define PEVENTINFO_STD_MOUSEUP        ((PEVENTINFO)~IEVENT_STD_MOUSEUP)
  191.  
  192.  
  193. //---------------------------------------------------------------------------
  194. // Structure for VBM_DRAGOVER and VBM_DRAGDROP events
  195. //---------------------------------------------------------------------------
  196.  
  197. typedef struct tagDRAGINFO
  198. {
  199.     HCTL   hctl;
  200.     POINT  pt;
  201.     USHORT state;    // Enter, Over, Exit; only used for VBM_DRAGOVER
  202. } DRAGINFO;
  203.  
  204. typedef DRAGINFO NEAR * NPDRAGINFO;
  205. typedef DRAGINFO FAR  * LPDRAGINFO;
  206.  
  207. #define DRAG_STATE_ENTER       0x00
  208. #define DRAG_STATE_EXIT        0x01
  209. #define DRAG_STATE_OVER        0x02
  210.  
  211.  
  212. //---------------------------------------------------------------------------
  213. // Control MODEL structure
  214. //---------------------------------------------------------------------------
  215.  
  216. typedef struct tagMODEL
  217. {
  218.     USHORT    usVersion;        // VB version used by control
  219.     FLONG       fl;                     // Bitfield structure
  220.     PCTLPROC    pctlproc;        // the control proc.
  221.     FSHORT    fsClassStyle;        // window class style
  222.     FLONG    flWndStyle;        // default window style
  223.     USHORT    cbCtlExtra;        // # bytes alloc'd for HCTL structure
  224.     USHORT    idBmpPalette;        // BITMAP id for tool palette
  225.     PSTR    npszDefCtlName;     // default control name prefix
  226.     PSTR    npszClassName;        // Visual Basic class name
  227.     PSTR    npszParentClassName;    // Parent window class if subclassed
  228.     NPPROPLIST    npproplist;        // Property list
  229.     NPEVENTLIST npeventlist;        // Event list
  230.     BYTE    nDefProp;        // index of default property
  231.     BYTE    nDefEvent;        // index of default event
  232. }
  233. MODEL;
  234.  
  235. #define MODEL_fArrows        0x00000001L
  236. #define MODEL_fFocusOk        0x00000002L
  237. #define MODEL_fMnemonic     0x00000004L
  238. #define MODEL_fChildrenOk   0x00000008L
  239. #define MODEL_fInitMsg        0x00000010L
  240. #define MODEL_fLoadMsg        0x00000020L
  241. #define MODEL_fDesInteract  0x00000040L
  242.  
  243.  
  244. typedef MODEL FAR  *  LPMODEL;
  245.  
  246. //---------------------------------------------------------------------------
  247. // Picture structure
  248. //---------------------------------------------------------------------------
  249. typedef struct tagPIC
  250. {
  251.     BYTE    picType;
  252.     union
  253.     {
  254.     struct
  255.     {
  256.       HBITMAP   hbitmap;        // bitmap
  257.     } bmp;
  258.     struct
  259.     {
  260.       HANDLE    hmeta;        // Metafile
  261.       int        xExt, yExt;     // extent
  262.     } wmf;
  263.     struct
  264.     {
  265.       HICON     hicon;        // Icon
  266.     } icon;
  267.     } picData;
  268.     BYTE    picReserved[4];
  269. } PIC;
  270.  
  271. typedef PIC FAR  *  LPPIC;
  272.  
  273. #define PICTYPE_NONE        0
  274. #define PICTYPE_BITMAP        1
  275. #define PICTYPE_METAFILE    2
  276. #define PICTYPE_ICON        3
  277.  
  278. #define HPIC_INVALID        0xFFFF
  279. #define HPIC_NULL        0
  280.  
  281. //---------------------------------------------------------------------------
  282. // The VISUAL BASIC API routines
  283. //---------------------------------------------------------------------------
  284.  
  285. // General routines
  286.  
  287. USHORT    FAR PASCAL VBGetMode (VOID);
  288.  
  289. #define MODE_DESIGN    1
  290. #define MODE_RUN    2
  291. #define MODE_BREAK    3
  292.  
  293. // General control routines
  294.  
  295. LPVOID    FAR PASCAL VBDerefControl(HCTL hctl);
  296. LONG    FAR PASCAL VBDefControlProc(HCTL hctl, HWND hwnd, USHORT msg, USHORT wp, LONG lp);
  297. BOOL    FAR PASCAL VBRegisterModel(HANDLE hmod, LPMODEL lpmodel);
  298. HWND    FAR PASCAL VBGetControlHwnd(HCTL hctl);
  299. HANDLE    FAR PASCAL VBGetHInstance(VOID);
  300. LPMODEL FAR PASCAL VBGetControlModel(HCTL hctl);
  301. LPSTR    FAR PASCAL VBGetControlName(HCTL hctl, LPSTR lpszName);
  302. HCTL    FAR PASCAL VBGetHwndControl(HWND hwnd);
  303. LONG    FAR PASCAL VBSendControlMsg(HCTL hctl, USHORT msg, USHORT wp, LONG lp);
  304. LONG    FAR PASCAL VBSuperControlProc(HCTL hctl, USHORT msg, USHORT wp, LONG lp);
  305. ERR    FAR PASCAL VBRecreateControlHwnd(HCTL hctl);
  306. VOID    FAR PASCAL VBDirtyForm(HCTL hctl);
  307. ERR    FAR PASCAL VBSetErrorMessage(ERR err, LPSTR lpstr);
  308. VOID    FAR PASCAL VBGetAppTitle(LPSTR lpstr, USHORT cbMax);
  309. int    FAR PASCAL VBDialogBoxParam(HANDLE hinst, LPSTR pszTemplateName, FARPROC lpDialogFunc, LONG lp);
  310.  
  311. // Management of dynamically allocated strings
  312.  
  313. HSZ    FAR PASCAL VBCreateHsz(HANDLE seg, LPSTR lpszString);
  314. HSZ    FAR PASCAL VBDestroyHsz(HSZ hsz);
  315. LPSTR    FAR PASCAL VBDerefHsz(HSZ hsz);
  316. LPSTR    FAR PASCAL VBLockHsz(HSZ hsz);
  317. LPSTR    FAR PASCAL VBUnlockHsz(HSZ hsz);
  318.  
  319. // Management of language strings
  320.  
  321. HLSTR    FAR PASCAL VBCreateHlstr(LPVOID pb, USHORT cbLen);
  322. VOID    FAR PASCAL VBDestroyHlstr(HLSTR hlstr);
  323. LPSTR    FAR PASCAL VBDerefHlstr(HLSTR hlstr);
  324. USHORT    FAR PASCAL VBGetHlstrLen(HLSTR hlstr);
  325. ERR    FAR PASCAL VBSetHlstr(HLSTR far *phlstr, LPVOID pb, USHORT cbLen);
  326.  
  327. // Firing Basic event procedures
  328.  
  329. ERR    FAR PASCAL VBFireEvent(HCTL hctl, USHORT idEvent, LPVOID lpparams);
  330.  
  331. // Control property access
  332.  
  333. ERR    FAR PASCAL VBGetControlProperty(HCTL hctl, USHORT idProp, LPVOID pdata);
  334. ERR    FAR PASCAL VBSetControlProperty(HCTL hctl, USHORT idProp, LONG data);
  335.  
  336. // Picture management functions
  337.  
  338. HPIC    FAR PASCAL VBAllocPic(LPPIC lppic);
  339. VOID    FAR PASCAL VBFreePic(HPIC hpic);
  340. HPIC    FAR PASCAL VBGetPic(HPIC hpic, LPPIC lppic);
  341. ERR    FAR PASCAL VBPicFromCF(HPIC FAR *lphpic, HANDLE hData, WORD wFormat);
  342. HPIC    FAR PASCAL VBRefPic(HPIC hpic);
  343.  
  344. // File IO functions
  345.  
  346. ERR    FAR PASCAL VBReadFormFile(HFORMFILE hformfile, LPVOID pb, WORD cb);
  347. ERR    FAR PASCAL VBWriteFormFile(HFORMFILE hformfile, LPVOID pb, WORD cb);
  348. LONG    FAR PASCAL VBSeekFormFile(HFORMFILE hformfile, LONG offset);
  349. LONG    FAR PASCAL VBRelSeekFormFile(HFORMFILE hformfile, LONG offset);
  350. ERR    FAR PASCAL VBReadBasicFile(USHORT usFileNo, LPVOID pb, WORD cb);
  351. ERR    FAR PASCAL VBWriteBasicFile(USHORT usFileNo, LPVOID pb, WORD cb);
  352.  
  353. // Conversion functions
  354.  
  355. LONG    FAR PASCAL VBYPixelsToTwips(SHORT Pixels);
  356. LONG    FAR PASCAL VBXPixelsToTwips(SHORT Pixels);
  357. SHORT    FAR PASCAL VBYTwipsToPixels(LONG Twips);
  358. SHORT    FAR PASCAL VBXTwipsToPixels(LONG Twips);
  359.  
  360. #define CONTROLDEREF(type, hctl) ((P##type)(VBDerefControl(hctl)))
  361.  
  362.  
  363. //---------------------------------------------------------------------------
  364. // Visual Basic messages
  365. //---------------------------------------------------------------------------
  366.  
  367. #define VBM__BASE        ( WM_USER + 0x0C00 )
  368.  
  369. // All properties have been loaded.  Must set MODEL_fLoadMsg to receive.
  370. #define VBM_CREATED        ( VBM__BASE + 0x00 )
  371.  
  372. // Form load is complete or dynamic control is fully loaded.  Must set
  373. // MODEL_fLoadMsg to receive.
  374. #define VBM_LOADED        ( VBM__BASE + 0x01 )
  375.  
  376. // Pre-hwnd properties are not yet loaded (no hwnd exists for control yet).
  377. // Must set MODEL_fInitMsg to receive.
  378. #define VBM_INITIALIZE        ( VBM__BASE + 0x02 )
  379.  
  380. // Get a property value.
  381. // [wp=iprop, lp=pdata], RetVal=ERR
  382. #define VBM_GETPROPERTY     ( VBM__BASE + 0x03 )
  383.  
  384. // Verify a property value.
  385. // [wp=iprop, lp=data], RetVal=ERR
  386. #define VBM_CHECKPROPERTY    ( VBM__BASE + 0x04 )
  387.  
  388. // Set a property value.
  389. // [wp=iprop, lp=data], RetVal=ERR
  390. #define VBM_SETPROPERTY     ( VBM__BASE + 0x05 )
  391.  
  392. // Write a property.
  393. // [wp=iprop, lp=pfileref], RetVal=ERR
  394. #define VBM_SAVEPROPERTY    ( VBM__BASE + 0x06 )
  395.  
  396. // Read a property.
  397. // [wp=iprop, lp=pfileref], RetVal=ERR
  398. #define VBM_LOADPROPERTY    ( VBM__BASE + 0x07 )
  399.  
  400. // Get the string representation of a property.
  401. // [wp=iprop, lp=HSZ FAR *], RetVal=ERR
  402. #define VBM_GETPROPERTYHSZ    ( VBM__BASE + 0x08 )
  403.  
  404. // Create popup window used to change a property.
  405. // [wp=iprop, lp=listbox hwnd], RetVal=popup hwnd
  406. #define VBM_INITPROPPOPUP    ( VBM__BASE + 0x09 )
  407.  
  408. // Determine if Paste/PasteLink is allowed.
  409. // [wp=PASTETYPE], RetVal=BOOL
  410. #define VBM_QPASTEOK        ( VBM__BASE + 0x0A )
  411.  
  412. #define PT_PASTE    0
  413. #define PT_PASTELINK    1
  414.  
  415. // Paste control-specific data from the clipboard.
  416. // [wp=PASTETYPE], RetVal=ERR
  417. #define VBM_PASTE        ( VBM__BASE + 0x0B )
  418.  
  419. // Copy control specific data to the clipboard.
  420. #define VBM_COPY        ( VBM__BASE + 0x0C )
  421.  
  422. // Control activated upon receipt of a unique mnemonic key.
  423. #define VBM_MNEMONIC        ( VBM__BASE + 0x0D )
  424.  
  425. // Posted to fire a deferred event.
  426. // [wp=event]
  427. #define VBM_FIREEVENT        ( VBM__BASE + 0x0E )
  428.  
  429. // Another control in drag mode drug over the control.
  430. // [lp=pdraginfo]
  431. #define VBM_DRAGOVER        ( VBM__BASE + 0x0F )
  432.  
  433. // This message is sent to a control that has just had another control
  434. // in drag mode dropped on it.
  435. // [lp=pdraginfo]
  436. #define VBM_DRAGDROP        ( VBM__BASE + 0x10 )
  437.  
  438. // This message is sent when certain methods are invoked on controls
  439. // [wp=METH_, lp=far *alParams], RetVal=ERR
  440. #define VBM_METHOD        ( VBM__BASE + 0x11 )
  441.  
  442. #define METH_ADDITEM    0x0001    // args are: cArgs, hszItem, [index]
  443. #define METH_REMOVEITEM 0x0002    // args are: cArgs, index
  444. #define METH_REFRESH    0x0003    // no args (lp == NULL)
  445. #define METH_MOVE    0x0004    // args are: cArgs, left, [top, [width, [height]]]
  446. #define METH_DRAG    0x0005    // args are: cArgs, [cmd]
  447.  
  448. // Clear capture and internal state.
  449. #define VBM_CANCELMODE        ( VBM__BASE + 0x12 )
  450.  
  451. // Notifications reflected back to control from parent.
  452. #define VBN__BASE        (VBM__BASE + 0x1000)
  453.  
  454. #define VBN_COMMAND        (VBN__BASE + WM_COMMAND)
  455. #define VBN_CTLCOLOR        (VBN__BASE + WM_CTLCOLOR)
  456. #define VBN_DRAWITEM        (VBN__BASE + WM_DRAWITEM)
  457. #define VBN_MEASUREITEM     (VBN__BASE + WM_MEASUREITEM)
  458. #define VBN_DELETEITEM        (VBN__BASE + WM_DELETEITEM)
  459. #define VBN_COMPAREITEM     (VBN__BASE + WM_COMPAREITEM)
  460. #define VBN_HSCROLL        (VBN__BASE + WM_HSCROLL)
  461. #define VBN_VSCROLL        (VBN__BASE + WM_VSCROLL)
  462. #define VBN_PARENTNOTIFY    (VBN__BASE + WM_PARENTNOTIFY)
  463.  
  464.  
  465. //---------------------------------------------------------------------------
  466. // Standard control properties
  467. //---------------------------------------------------------------------------
  468.  
  469. #define IPROP_STD_CTLNAME        0x0000
  470. #define IPROP_STD_INDEX         0x0001
  471. #define IPROP_STD_BACKCOLOR        0x0003
  472. #define IPROP_STD_FORECOLOR        0x0004
  473. #define IPROP_STD_LEFT            0x0005
  474. #define IPROP_STD_TOP            0x0006
  475. #define IPROP_STD_WIDTH         0x0007
  476. #define IPROP_STD_HEIGHT        0x0008
  477. #define IPROP_STD_ENABLED        0x0009
  478. #define IPROP_STD_VISIBLE        0x000A
  479. #define IPROP_STD_MOUSEPOINTER        0x000B
  480. #define IPROP_STD_CAPTION        0x000C
  481. #define IPROP_STD_FONTNAME        0x000D
  482. #define IPROP_STD_FONTBOLD        0x000E
  483. #define IPROP_STD_FONTITALIC        0x000F
  484. #define IPROP_STD_FONTSTRIKE        0x0010
  485. #define IPROP_STD_FONTUNDER        0x0011
  486. #define IPROP_STD_FONTSIZE        0x0012
  487. #define IPROP_STD_TABINDEX        0x0013
  488. #define IPROP_STD_PARENT        0x0014
  489. #define IPROP_STD_DRAGMODE        0x0015
  490. #define IPROP_STD_DRAGICON        0x0016
  491. #define IPROP_STD_BORDERSTYLEOFF    0x0017
  492. #define IPROP_STD_TABSTOP        0x0018
  493. #define IPROP_STD_TAG            0x0019
  494. #define IPROP_STD_TEXT            0x001B
  495. #define IPROP_STD_BORDERSTYLEON     0x001C
  496.  
  497. #define PPROPINFO_STD_CTLNAME        ((PPROPINFO)~IPROP_STD_CTLNAME)
  498. #define PPROPINFO_STD_INDEX        ((PPROPINFO)~IPROP_STD_INDEX)
  499. #define PPROPINFO_STD_BACKCOLOR     ((PPROPINFO)~IPROP_STD_BACKCOLOR)
  500. #define PPROPINFO_STD_FORECOLOR     ((PPROPINFO)~IPROP_STD_FORECOLOR)
  501. #define PPROPINFO_STD_LEFT        ((PPROPINFO)~IPROP_STD_LEFT)
  502. #define PPROPINFO_STD_TOP        ((PPROPINFO)~IPROP_STD_TOP)
  503. #define PPROPINFO_STD_WIDTH        ((PPROPINFO)~IPROP_STD_WIDTH)
  504. #define PPROPINFO_STD_HEIGHT        ((PPROPINFO)~IPROP_STD_HEIGHT)
  505. #define PPROPINFO_STD_ENABLED        ((PPROPINFO)~IPROP_STD_ENABLED)
  506. #define PPROPINFO_STD_VISIBLE        ((PPROPINFO)~IPROP_STD_VISIBLE)
  507. #define PPROPINFO_STD_MOUSEPOINTER  ((PPROPINFO)~IPROP_STD_MOUSEPOINTER)
  508. #define PPROPINFO_STD_CAPTION        ((PPROPINFO)~IPROP_STD_CAPTION)
  509. #define PPROPINFO_STD_FONTNAME        ((PPROPINFO)~IPROP_STD_FONTNAME)
  510. #define PPROPINFO_STD_FONTBOLD        ((PPROPINFO)~IPROP_STD_FONTBOLD)
  511. #define PPROPINFO_STD_FONTITALIC    ((PPROPINFO)~IPROP_STD_FONTITALIC)
  512. #define PPROPINFO_STD_FONTSTRIKE    ((PPROPINFO)~IPROP_STD_FONTSTRIKE)
  513. #define PPROPINFO_STD_FONTUNDER     ((PPROPINFO)~IPROP_STD_FONTUNDER)
  514. #define PPROPINFO_STD_FONTSIZE        ((PPROPINFO)~IPROP_STD_FONTSIZE)
  515. #define PPROPINFO_STD_TABINDEX        ((PPROPINFO)~IPROP_STD_TABINDEX)
  516. #define PPROPINFO_STD_PARENT        ((PPROPINFO)~IPROP_STD_PARENT)
  517. #define PPROPINFO_STD_DRAGMODE        ((PPROPINFO)~IPROP_STD_DRAGMODE)
  518. #define PPROPINFO_STD_DRAGICON        ((PPROPINFO)~IPROP_STD_DRAGICON)
  519. #define PPROPINFO_STD_BORDERSTYLEOFF ((PPROPINFO)~IPROP_STD_BORDERSTYLEOFF)
  520. #define PPROPINFO_STD_TABSTOP        ((PPROPINFO)~IPROP_STD_TABSTOP)
  521. #define PPROPINFO_STD_TAG        ((PPROPINFO)~IPROP_STD_TAG)
  522. #define PPROPINFO_STD_TEXT        ((PPROPINFO)~IPROP_STD_TEXT)
  523. #define PPROPINFO_STD_BORDERSTYLEON ((PPROPINFO)~IPROP_STD_BORDERSTYLEON)
  524.  
  525.