home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 10 / 10.iso / l / l410 / 1.ddi / CDK / PIX / PIX.H$ / PIX.bin
Encoding:
Text File  |  1992-02-13  |  4.8 KB  |  151 lines

  1. //---------------------------------------------------------------------------
  2. // Pix.h
  3. //---------------------------------------------------------------------------
  4.  
  5. //---------------------------------------------------------------------------
  6. // Helpful Macros
  7. //---------------------------------------------------------------------------
  8. #define OFFSETIN(struc, field)    ((USHORT)&( ((struc *)0)->field ))
  9.  
  10.  
  11. //---------------------------------------------------------------------------
  12. // Resource ID's
  13. //---------------------------------------------------------------------------
  14. // Toolbox bitmap resource IDs numbers.
  15. //---------------------------------------------------------------------------
  16. #define IDBMP_PIX           8000
  17. #define IDBMP_PIXDOWN           8001
  18. #define IDBMP_PIXMONO           8003
  19. #define IDBMP_PIXEGA           8006
  20.  
  21.  
  22. #ifndef RC_INVOKED
  23. //---------------------------------------------------------------------------
  24. // Pix control data and structs
  25. //---------------------------------------------------------------------------
  26. #define ARRMAX          10
  27.  
  28. typedef struct tagPIX
  29. {
  30.     HSZ      List[ARRMAX];
  31.     HPIC     hpicPict;
  32. } PIX;
  33.  
  34. typedef PIX FAR * PPIX;
  35.  
  36.  
  37. //---------------------------------------------------------------------------
  38. // Control Procudure
  39. //---------------------------------------------------------------------------
  40. LONG FAR PASCAL _export PixCtlProc(HCTL, HWND, USHORT, USHORT, LONG);
  41.  
  42.  
  43. //---------------------------------------------------------------------------
  44. // Property info
  45. //---------------------------------------------------------------------------
  46. #ifdef CTL_DATA
  47. PROPINFO Property_Arr =
  48. {
  49.     "List",
  50.     DT_HSZ | PF_fPropArray| PF_fGetMsg | PF_fSetMsg  | PF_fNoShow,
  51.     OFFSETIN(PIX, List)
  52. };
  53.  
  54. PROPINFO Property_Pict =
  55. {
  56.     "Picture",
  57.     DT_PICTURE | PF_fGetData | PF_fSetCheck | PF_fSetData | PF_fSaveData | PF_fGetHszMsg,
  58.     OFFSETIN(PIX, hpicPict)
  59. };
  60. #endif    // CTL_DATA
  61.  
  62.  
  63. //---------------------------------------------------------------------------
  64. // Property list
  65. //---------------------------------------------------------------------------
  66. // Define the consecutive indicies for the properties
  67. //---------------------------------------------------------------------------
  68. #define IPROP_PIX_CTLNAME              0
  69. #define IPROP_PIX_INDEX                1
  70. #define IPROP_PIX_BACKCOLOR            2
  71. #define IPROP_PIX_LEFT                 3
  72. #define IPROP_PIX_TOP                  4
  73. #define IPROP_PIX_WIDTH                5
  74. #define IPROP_PIX_HEIGHT               6
  75. #define IPROP_PIX_VISIBLE              7
  76. #define IPROP_PIX_PARENT               8
  77. #define IPROP_PIX_DRAGMODE             9
  78. #define IPROP_PIX_DRAGICON            10
  79. #define IPROP_PIX_TAG                 11
  80. #define IPROP_PIX_LIST                12
  81. #define IPROP_PIX_PICT                13
  82.  
  83. #ifdef CTL_DATA
  84. PPROPINFO Pix_Properties[] =
  85. {
  86.     PPROPINFO_STD_CTLNAME,
  87.     PPROPINFO_STD_INDEX,
  88.     PPROPINFO_STD_BACKCOLOR,
  89.     PPROPINFO_STD_LEFT,
  90.     PPROPINFO_STD_TOP,
  91.     PPROPINFO_STD_WIDTH,
  92.     PPROPINFO_STD_HEIGHT,
  93.     PPROPINFO_STD_VISIBLE,
  94.     PPROPINFO_STD_PARENT,
  95.     PPROPINFO_STD_DRAGMODE,
  96.     PPROPINFO_STD_DRAGICON,
  97.     PPROPINFO_STD_TAG,
  98.     &Property_Arr,
  99.     &Property_Pict,
  100.     NULL
  101. };
  102. #endif    // CTL_DATA
  103.  
  104.  
  105. //---------------------------------------------------------------------------
  106. // Event list
  107. //---------------------------------------------------------------------------
  108. // Define the consecutive indicies for the events
  109. //---------------------------------------------------------------------------
  110. #define IEVENT_PIX_CLICK               0
  111. #define IEVENT_PIX_DRAGDROP            1
  112. #define IEVENT_PIX_DRAGOVER            2
  113.  
  114. #ifdef CTL_DATA
  115. PEVENTINFO Pix_Events[] =
  116. {
  117.     PEVENTINFO_STD_CLICK,
  118.     PEVENTINFO_STD_DRAGDROP,
  119.     PEVENTINFO_STD_DRAGOVER,
  120.     NULL
  121. };
  122. #endif    // CTL_DATA
  123.  
  124.  
  125. //---------------------------------------------------------------------------
  126. // Model struct
  127. //---------------------------------------------------------------------------
  128. // Define the control model (using the event and property structures).
  129. //---------------------------------------------------------------------------
  130. #ifdef CTL_DATA
  131. MODEL modelPix =
  132. {
  133.     VB_VERSION,             // VB version being used
  134.     0,                    // MODEL flags
  135.     (PCTLPROC)PixCtlProc,        // Control procedures
  136.     CS_VREDRAW | CS_HREDRAW,        // Class style
  137.     WS_BORDER,                // Default Windows style
  138.     sizeof(PIX),            // Size of PIX structure
  139.     IDBMP_PIX,                // Palette bitmap ID
  140.     "Pix",                // Default control name
  141.     "Pix",                // Visual Basic class name
  142.     NULL,                // Parent class name
  143.     Pix_Properties,            // Property information table
  144.     Pix_Events                // Event information table
  145. };
  146. #endif    // CTL_DATA
  147.  
  148. #endif  // RC_INVOKED
  149.  
  150. //---------------------------------------------------------------------------
  151.