home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 10 / 10.iso / l / l391_1 / 4.ddi / CUSTEVNT.BA$ / CUSTEVNT.bin
Encoding:
Text File  |  1992-08-19  |  10.8 KB  |  183 lines

  1. ' ----------------------------------------------------------------------------
  2. ' CUSTEVNT.BAS: Custom Control Event Procedures
  3. '
  4. ' Custom control event procedure templates created by
  5. ' CUSTGEN.EXE (Custom Control Template Generator).
  6. '
  7. ' CUSTGEN.EXE is a utility provided to make custom
  8. ' control development easier.  It allows you to select
  9. ' the events you want your custom control to respond to,
  10. ' then generates code templates and a custom control
  11. ' registration routine for these events.
  12. '
  13. ' Modify the code template file as necessary, then build
  14. ' your custom control as follows:
  15. '    ML -c <RegisterFile>          ; Assumes Masm 6.0 compiler
  16. '    BC /o <TemplateFile>;
  17. '    DEL <TemplateFile.LIB>        ; Delete existing library if exists
  18. '    LIB <TemplateFile.LIB>+<RegisterFile.OBJ>+<TemplateFile.OBJ>
  19. '    LINK /Q <TemplateFile.LIB>,<TemplateFile.QLB>,,VBDOSQLB.LIB;
  20. ' You can combine multiple custom controls into one Quick library for
  21. ' use within the programming environment as follows:
  22. '    DEL <CombinedLib.LIB>         ; Delete existing library if exists
  23. '    LIB <CombinedLib.LIB>+<Cust1.LIB>+<Cust2.LIB>+<CustN.LIB>
  24. '    LINK /Q <CombinedLib.LIB>,<CombinedLib.QLB>,,VBDOSQLB.LIB;
  25. ' To create an Alternate Math custom control library (instead of an
  26. ' Emulator Math custom control library as shown above), compile the 
  27. ' TemplateFile with the /FPa switch.  Note, an Altmath library cannot be
  28. ' used to create a Quick Library.
  29. '
  30. '
  31. ' Copyright (C) 1982-1992 Microsoft Corporation
  32. '
  33. ' You have a royalty-free right to use, modify, reproduce
  34. ' and distribute the sample applications and toolkits provided with
  35. ' Visual Basic for MS-DOS (and/or any modified version)
  36. ' in any way you find useful, provided that you agree that
  37. ' Microsoft has no warranty, obligations or liability for
  38. ' any of the sample applications or toolkits.
  39. ' ----------------------------------------------------------------------------
  40.  
  41.  
  42. ' Include file containing constant definitions for
  43. ' Property, Event, Method and ControlType ID numbers.
  44. '$INCLUDE: 'CUSTINCL.BI'
  45.  
  46. ' Turn on option explicit to force all variables to be
  47. ' declared before use.  Note, this is an optional debugging aid.
  48. OPTION EXPLICIT
  49.  
  50.  
  51. ' Declarations for custom control callbacks.
  52. ' These callbacks are used to set and get custom control
  53. ' properties and invoke custom control methods and events.
  54. '
  55. ' ** IMPORTANT: Remove all unused callback declarations
  56. '    to reduce DGROUP consumption.
  57. '
  58. '    AID = Attribute Id - list is found in CUSTINCL include file.
  59. '    CID = Control Id created internally by Visual Basic
  60. '    EID = Event Id - list is found in CUSTINCL include file.
  61. '    MthID = Method Id - list is found in CUSTINCL include file.
  62. '    PID = Property Id - list is found in CUSTINCL include file.
  63.  
  64. ' Declare callbacks for invoking methods and events and getting
  65. ' and setting properties.  These callbacks accept a variable number 
  66. ' and types of arguments depending on the method or event that is 
  67. ' being invoked.
  68. DECLARE SUB InvokeEvent
  69. DECLARE SUB InvokeMethod
  70. DECLARE SUB GetProperty
  71. DECLARE SUB SetProperty
  72.  
  73. ' Declare callback for getting a control's container object.
  74. ' This callback returns a CID for the container object.
  75. DECLARE FUNCTION GetContainer (BYVAL CID AS INTEGER) AS INTEGER
  76.  
  77. ' Declare callback for setting a control's attributes (access key,
  78. ' focus availability, arrow key trapping ability, and text cursor 
  79. ' location).  Refer to the custom control section of the README.TXT
  80. ' file for complete information on using this callback.
  81. DECLARE SUB SetAttribute (BYVAL CID AS INTEGER, BYVAL AID AS INTEGER, BYVAL Value AS INTEGER)
  82.  
  83. ' Declare unique callbacks for each property datatype for 
  84. ' setting and getting property values by aliasing the
  85. ' GetProperty and SetProperty callbacks which accept any datatype.
  86. ' This provides type checking during calls to these procedures.
  87. DECLARE SUB GetIntProperty    ALIAS "GETPROPERTY" (Value AS INTEGER, BYVAL CID AS INTEGER, BYVAL PID AS INTEGER)
  88. DECLARE SUB GetStringProperty ALIAS "GETPROPERTY" (Value AS STRING,  BYVAL CID AS INTEGER, BYVAL PID AS INTEGER)
  89. DECLARE SUB GetLongProperty   ALIAS "GETPROPERTY" (Value AS LONG,    BYVAL CID AS INTEGER, BYVAL PID AS INTEGER)
  90. DECLARE SUB SetIntProperty    ALIAS "SETPROPERTY" (BYVAL value AS INTEGER, BYVAL CID AS INTEGER, BYVAL PID AS INTEGER)
  91. DECLARE SUB SetStringProperty ALIAS "SETPROPERTY" (Value AS STRING,        BYVAL CID AS INTEGER, BYVAL PID AS INTEGER)
  92. DECLARE SUB SetLongProperty   ALIAS "SETPROPERTY" (BYVAL value AS LONG,    BYVAL CID AS INTEGER, BYVAL PID AS INTEGER)
  93.  
  94. ' Declare unique callbacks for invoking each user event
  95. ' by aliasing the InvokeEvent callback which accepts a variable number
  96. ' of arguments and types depending on the event being invoked.
  97. ' This provides type checking during calls to these procedures.
  98. DECLARE SUB InvokeChangeEvent        ALIAS "INVOKEEVENT" (BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  99. DECLARE SUB InvokeClickEvent         ALIAS "INVOKEEVENT" (BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  100. DECLARE SUB InvokeCustomEvent        ALIAS "INVOKEEVENT" (EventType AS INTEGER, BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  101. DECLARE SUB InvokeDblClickEvent      ALIAS "INVOKEEVENT" (BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  102. DECLARE SUB InvokeDragDropEvent      ALIAS "INVOKEEVENT" (BYVAL SourceCID AS INTEGER, X AS SINGLE, Y AS SINGLE, BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  103. DECLARE SUB InvokeDragOverEvent      ALIAS "INVOKEEVENT" (BYVAL SourceCID AS INTEGER, X AS SINGLE, Y AS SINGLE, State AS INTEGER, BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  104. DECLARE SUB InvokeDropDownEvent      ALIAS "INVOKEEVENT" (BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  105. DECLARE SUB InvokeGotFocusEvent      ALIAS "INVOKEEVENT" (BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  106. DECLARE SUB InvokeKeyDownEvent       ALIAS "INVOKEEVENT" (KeyCode AS INTEGER, Shift AS INTEGER, BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  107. DECLARE SUB InvokeKeyPressEvent      ALIAS "INVOKEEVENT" (KeyAscii AS INTEGER, BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  108. DECLARE SUB InvokeKeyUpEvent         ALIAS "INVOKEEVENT" (KeyCode AS INTEGER, Shift AS INTEGER, BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  109. DECLARE SUB InvokeLoadEvent          ALIAS "INVOKEEVENT" (BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  110. DECLARE SUB InvokeLostFocusEvent     ALIAS "INVOKEEVENT" (BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  111. DECLARE SUB InvokeMouseDownEvent     ALIAS "INVOKEEVENT" (Button AS INTEGER, Shift AS INTEGER, X AS SINGLE, Y AS SINGLE, BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  112. DECLARE SUB InvokeMouseMoveEvent     ALIAS "INVOKEEVENT" (Button AS INTEGER, Shift AS INTEGER, X AS SINGLE, Y AS SINGLE, BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  113. DECLARE SUB InvokeMouseUpEvent       ALIAS "INVOKEEVENT" (Button AS INTEGER, Shift AS INTEGER, X AS SINGLE, Y AS SINGLE, BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  114. DECLARE SUB InvokePaintEvent         ALIAS "INVOKEEVENT" (BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  115. DECLARE SUB InvokePathChangeEvent    ALIAS "INVOKEEVENT" (BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  116. DECLARE SUB InvokePatternChangeEvent ALIAS "INVOKEEVENT" (BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  117. DECLARE SUB InvokeResizeEvent        ALIAS "INVOKEEVENT" (BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  118. DECLARE SUB InvokeTimerEvent         ALIAS "INVOKEEVENT" (BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  119. DECLARE SUB InvokeUnloadEvent        ALIAS "INVOKEEVENT" (Cancel AS INTEGER, BYVAL CID AS INTEGER, BYVAL EID AS INTEGER)
  120.  
  121. ' Declare unique callbacks for invoking each custom control method
  122. ' by aliasing the InvokeMethod callback which accepts a variable number
  123. ' of arguments and types depending on the method being invoked.
  124. ' This provides type checking during calls to these procedures.
  125. DECLARE SUB InvokePrintMethod      ALIAS "INVOKEMETHOD" (BYVAL CurrX AS INTEGER, BYVAL CurrY AS INTEGER, BYVAL FColor AS INTEGER, BYVAL BColor AS INTEGER, Text AS STRING, BYVAL NumArgs AS INTEGER, BYVAL CID AS INTEGER, BYVAL MthID AS INTEGER)
  126. DECLARE SUB InvokePrintFormMethod  ALIAS "INVOKEMETHOD" (BYVAL NumArgs AS INTEGER, BYVAL CID AS INTEGER, BYVAL MthID AS INTEGER)
  127. DECLARE SUB InvokeCLSMethod        ALIAS "INVOKEMETHOD" (BYVAL NumArgs AS INTEGER, BYVAL CID AS INTEGER, BYVAL MthID AS INTEGER)
  128. DECLARE SUB InvokeHideMethod       ALIAS "INVOKEMETHOD" (BYVAL NumArgs AS INTEGER, BYVAL CID AS INTEGER, BYVAL MthID AS INTEGER)
  129. DECLARE SUB InvokeShowMethod       ALIAS "INVOKEMETHOD" (BYVAL Modal AS INTEGER, BYVAL NumArgs AS INTEGER, BYVAL CID AS INTEGER, BYVAL MthID AS INTEGER)
  130. DECLARE SUB InvokeRefreshMethod    ALIAS "INVOKEMETHOD" (BYVAL NumArgs AS INTEGER, BYVAL CID AS INTEGER, BYVAL MthID AS INTEGER)
  131. DECLARE SUB InvokeMoveMethod       ALIAS "INVOKEMETHOD" (BYVAL mLeft AS INTEGER, BYVAL mTop AS INTEGER, BYVAL mWidth AS INTEGER, BYVAL mHeight AS INTEGER, BYVAL NumArgs AS INTEGER, BYVAL CID AS INTEGER, BYVAL MthID AS INTEGER)
  132. DECLARE SUB InvokeSetFocusMethod   ALIAS "INVOKEMETHOD" (BYVAL NumArgs AS INTEGER, BYVAL CID AS INTEGER, BYVAL MthID AS INTEGER)
  133. DECLARE SUB InvokeDragMethod       ALIAS "INVOKEMETHOD" (BYVAL Action AS INTEGER, BYVAL NumArgs AS INTEGER, BYVAL CID AS INTEGER, BYVAL MthID AS INTEGER)
  134.  
  135.  
  136. FUNCTION MyControl_CClick(Ctrl as Control, ByVal ControlId as Integer) AS INTEGER
  137.  
  138. '
  139. ' Place your comments and code for this event here.
  140. ' Basic errors are triggered by returning a non-zero value (ERR).
  141. ' Set and get properties and invoke methods and user events and 
  142. ' by using the appropriate callbacks declared above.
  143. ' PropertyID, EventID, and MethodID constant definitions are
  144. ' are contained in the CUSTINCL include file.
  145. '
  146.  
  147. ' IMPORTANT: You must always have a return value.
  148.     MyControl_CClick = 0
  149.  
  150. END FUNCTION 
  151.  
  152. FUNCTION MyControl_CKeyPress(Ctrl as Control, ByVal ControlId as Integer, KeyAscii as Integer) AS INTEGER
  153.  
  154. '
  155. ' Place your comments and code for this event here.
  156. ' Basic errors are triggered by returning a non-zero value (ERR).
  157. ' Set and get properties and invoke methods and user events and 
  158. ' by using the appropriate callbacks declared above.
  159. ' PropertyID, EventID, and MethodID constant definitions are
  160. ' are contained in the CUSTINCL include file.
  161. '
  162.  
  163. ' IMPORTANT: You must always have a return value.
  164.     MyControl_CKeyPress = 0
  165.  
  166. END FUNCTION 
  167.  
  168. FUNCTION MyControl_CIntegerGet(Ctrl as Control, ByVal ControlId as Integer, ByVal PropertyID as Integer, Value as Integer) AS INTEGER
  169.  
  170. '
  171. ' Place your comments and code for this event here.
  172. ' Basic errors are triggered by returning a non-zero value (ERR).
  173. ' Set and get properties and invoke methods and user events and 
  174. ' by using the appropriate callbacks declared above.
  175. ' PropertyID, EventID, and MethodID constant definitions are
  176. ' are contained in the CUSTINCL include file.
  177. '
  178.  
  179. ' IMPORTANT: You must always have a return value.
  180.     MyControl_CIntegerGet = 0
  181.  
  182. END FUNCTION 
  183.