home *** CD-ROM | disk | FTP | other *** search
/ On Hand / On_Hand_From_Softbank_1994_Release_2_Disc_2_1994.iso / 00202 / s / disk3 / pix.h_ / pix.bin
Text File  |  1993-04-28  |  8KB  |  230 lines

  1. //---------------------------------------------------------------------------
  2. //        Copyright (C) 1991-93, Microsoft Corporation
  3. //
  4. // You have a royalty-free right to use, modify, reproduce and distribute
  5. // the Sample Custom Control Files (and/or any modified version) in any way
  6. // you find useful, provided that you agree that Microsoft has no warranty,
  7. // obligation or liability for any Custom Control File.
  8. //---------------------------------------------------------------------------
  9. // Pix.h
  10. //---------------------------------------------------------------------------
  11.  
  12. //---------------------------------------------------------------------------
  13. // Resource Information
  14. //---------------------------------------------------------------------------
  15. // Toolbox bitmap resource IDs numbers.
  16. //---------------------------------------------------------------------------
  17. #define IDBMP_PIX           8000
  18. #define IDBMP_PIXDOWN           8001
  19. #define IDBMP_PIXMONO           8003
  20. #define IDBMP_PIXEGA           8006
  21.  
  22.  
  23. //---------------------------------------------------------------------------
  24. // Change these for each new VBX file
  25. //---------------------------------------------------------------------------
  26. #define VBX_COMPANYNAME        "Microsoft Corporation\0"
  27. #define VBX_FILEDESCRIPTION       "Visual Basic Pix Custom Control Example\0"
  28. #define VBX_INTERNALNAME       "PIX\0"
  29. #define VBX_LEGALCOPYRIGHT       "Copyright \251 Microsoft Corp. 1991-93\0"
  30. #define VBX_LEGALTRADEMARKS       "Microsoft\256 is a registered trademark of Microsoft Corporation. Visual Basic\231 is a trademark of Microsoft Corporation. Windows\231 is a trademark of Microsoft Corporation.\0"
  31. #define VBX_ORIGINALFILENAME       "PIX.VBX\0"
  32. #define VBX_PRODUCTNAME        "Microsoft\256 Visual Basic\231 for Windows\231\0"
  33.  
  34.  
  35. //---------------------------------------------------------------------------
  36. // Update these fields for each build.
  37. //---------------------------------------------------------------------------
  38. #define VBX_VERSION            3,00,0,00
  39. #define VBX_VERSION_STR        "3.00.000\0"
  40.  
  41.  
  42. #ifndef RC_INVOKED
  43. //---------------------------------------------------------------------------
  44. // Macro for referencing member of structure
  45. //---------------------------------------------------------------------------
  46. #define OFFSETIN(struc, field)        ((USHORT)&(((struc *)0)->field))
  47.  
  48.  
  49. //---------------------------------------------------------------------------
  50. // Pix control data and structs
  51. //---------------------------------------------------------------------------
  52. #define ARRMAX          10
  53.  
  54. typedef struct tagPIX
  55.     {
  56.     HSZ   List[ARRMAX];
  57.     HPIC  hpicPict;
  58.     HLSTR hlstrMyTag;
  59.     HLSTR hlstrMyTagMsg;
  60.     } PIX;
  61.  
  62. typedef PIX FAR * PPIX;
  63.  
  64.  
  65. //---------------------------------------------------------------------------
  66. // Control Procedure
  67. //---------------------------------------------------------------------------
  68. LONG FAR PASCAL _export PixCtlProc(HCTL, HWND, USHORT, USHORT, LONG);
  69.  
  70.  
  71. //---------------------------------------------------------------------------
  72. // Property info
  73. //---------------------------------------------------------------------------
  74. PROPINFO Property_Arr =
  75.     {
  76.     "List",
  77.     DT_HSZ | PF_fPropArray| PF_fGetMsg | PF_fSetMsg  | PF_fNoShow,
  78.     OFFSETIN(PIX, List),
  79.     0, 0, NULL, 0
  80.     };
  81.  
  82. PROPINFO Property_Pict =
  83.     {
  84.     "Picture",
  85.     DT_PICTURE | PF_fGetData | PF_fSetCheck | PF_fSetData | PF_fSaveData | PF_fSetMsg,
  86.     OFFSETIN(PIX, hpicPict),
  87.     0, 0, NULL, 0
  88.     };
  89.  
  90. PROPINFO Property_MyTag =
  91.     {
  92.     "MyTag",
  93.     //-----------------------------------------------------------------
  94.     // **** You must never use PF_fGetData alone when dealing with ****
  95.     // **** DT_HLSTR properties!  See VBM_GETPROPERTY, case       ****
  96.     // **** IPROP_PIX_MYTAG for more information.           ****
  97.     //-----------------------------------------------------------------
  98.     DT_HLSTR | PF_fGetData | PF_fGetMsg | PF_fSetData | PF_fSaveData | PF_fDefVal,
  99.     OFFSETIN(PIX, hlstrMyTag),
  100.     0, 0, NULL, 0
  101.     };
  102.  
  103. PROPINFO Property_MyTagMsg =
  104.     {
  105.     "MyTagMsg",
  106.     DT_HLSTR | PF_fGetMsg | PF_fSetMsg | PF_fSaveData | PF_fDefVal,
  107.     OFFSETIN(PIX, hlstrMyTagMsg),
  108.     0, 0, NULL, 0
  109.     };
  110.  
  111.  
  112. //---------------------------------------------------------------------------
  113. // Property list
  114. //---------------------------------------------------------------------------
  115. // Define the consecutive indicies for the properties
  116. //---------------------------------------------------------------------------
  117. #define IPROP_PIX_CTLNAME              0
  118. #define IPROP_PIX_INDEX                1
  119. #define IPROP_PIX_BACKCOLOR            2
  120. #define IPROP_PIX_LEFT                 3
  121. #define IPROP_PIX_TOP                  4
  122. #define IPROP_PIX_WIDTH                5
  123. #define IPROP_PIX_HEIGHT               6
  124. #define IPROP_PIX_VISIBLE              7
  125. #define IPROP_PIX_PARENT               8
  126. #define IPROP_PIX_DRAGMODE             9
  127. #define IPROP_PIX_DRAGICON            10
  128. #define IPROP_PIX_TAG                 11
  129. #define IPROP_PIX_LIST                12
  130. #define IPROP_PIX_PICT                13
  131. #define IPROP_PIX_MYTAG           14
  132. #define IPROP_PIX_LINKMODE            15
  133. #define IPROP_PIX_LINKTOPIC           16
  134. #define IPROP_PIX_LINKITEM            17
  135. #define IPROP_PIX_LINKTIEMOUT         18
  136. #define IPROP_PIX_MYTAGMSG          19
  137.  
  138. PPROPINFO Pix_Properties[] =
  139.     {
  140.     PPROPINFO_STD_CTLNAME,
  141.     PPROPINFO_STD_INDEX,
  142.     PPROPINFO_STD_BACKCOLOR,
  143.     PPROPINFO_STD_LEFT,
  144.     PPROPINFO_STD_TOP,
  145.     PPROPINFO_STD_WIDTH,
  146.     PPROPINFO_STD_HEIGHT,
  147.     PPROPINFO_STD_VISIBLE,
  148.     PPROPINFO_STD_PARENT,
  149.     PPROPINFO_STD_DRAGMODE,
  150.     PPROPINFO_STD_DRAGICON,
  151.     PPROPINFO_STD_TAG,
  152.     &Property_Arr,
  153.     &Property_Pict,
  154.     &Property_MyTag,
  155.     PPROPINFO_STD_LINKTOPIC,
  156.     PPROPINFO_STD_LINKITEM,
  157.     PPROPINFO_STD_LINKTIMEOUT,
  158.     PPROPINFO_STD_LINKMODE,     // Linkmode must be the last link property specified!
  159.     &Property_MyTagMsg,
  160.     NULL
  161.     };
  162.  
  163.  
  164. //---------------------------------------------------------------------------
  165. // Event list
  166. //---------------------------------------------------------------------------
  167. // Define the consecutive indicies for the events
  168. //---------------------------------------------------------------------------
  169. #define IEVENT_PIX_CLICK               0
  170. #define IEVENT_PIX_DRAGDROP            1
  171. #define IEVENT_PIX_DRAGOVER            2
  172. #define IEVENT_PIX_LINKERROR           3
  173. #define IEVENT_PIX_LINKCLOSE           4
  174. #define IEVENT_PIX_LINKOPEN            5
  175. #define IEVENT_PIX_LINKCHANGE          6
  176.  
  177. PEVENTINFO Pix_Events[] =
  178.     {
  179.     PEVENTINFO_STD_CLICK,
  180.     PEVENTINFO_STD_DRAGDROP,
  181.     PEVENTINFO_STD_DRAGOVER,
  182.     PEVENTINFO_STD_LINKERROR,
  183.     PEVENTINFO_STD_LINKCLOSE,
  184.     PEVENTINFO_STD_LINKOPEN,
  185.     PEVENTINFO_STD_LINKCHANGE,
  186.     NULL
  187.     };
  188.  
  189.  
  190. //---------------------------------------------------------------------------
  191. // Model struct
  192. //---------------------------------------------------------------------------
  193. // Define the control model (using the event and property structures).
  194. //---------------------------------------------------------------------------
  195. MODEL modelPix =
  196.     {
  197.     VB_VERSION,             // VB version being used
  198.     MODEL_fGraphical |            // MODEL flags
  199.       MODEL_fLoadMsg,            // Needed for DDE!
  200.     (PCTLPROC)PixCtlProc,        // Control procedures
  201.     0,                    // Class style
  202.     0,                    // Default Windows style
  203.     sizeof(PIX),            // Size of PIX structure
  204.     IDBMP_PIX,                // Palette bitmap ID
  205.     "Pix",                // Default control name
  206.     "Pix",                // Visual Basic class name
  207.     NULL,                // Parent class name
  208.     Pix_Properties,            // Property information table
  209.     Pix_Events,             // Event information table
  210.     IPROP_PIX_PICT,            // Default property
  211.     IEVENT_PIX_CLICK,            // Default event
  212.     IPROP_PIX_PICT            // Property representing value of ctl
  213.     };
  214.  
  215. LPMODEL modellistPix[] =
  216.     {
  217.     &modelPix,
  218.     NULL
  219.     };
  220.  
  221. MODELINFO modelinfoPix =
  222.     {
  223.     VB100_VERSION,            // VB version being used
  224.     modellistPix            // MODEL list
  225.     };
  226.  
  227. #endif  // RC_INVOKED
  228.  
  229. //---------------------------------------------------------------------------
  230.