home *** CD-ROM | disk | FTP | other *** search
/ CD Shareware Magazine 1999 April / CD_Shareware_Magazine_31.iso / Free / Prg / axgrid.exe / Projects / axGrid / help / ContxtID.BAS < prev   
Encoding:
BASIC Source File  |  1999-02-04  |  13.0 KB  |  284 lines

  1. Attribute VB_Name = "ContextIDs"
  2. Option Explicit
  3. '=====================================================================
  4. '=====================================================================
  5. '
  6. 'This source code contains the following routines:
  7. '  o SetAppHelp() 'Called in the main Form_Load event to register your
  8. '                 'program with WINHELP.EXE
  9. '  o QuitHelp()    'Deregisters your program with WINHELP.EXE. Should
  10. '                  'be called in your main Form_Unload event
  11. '  o ShowHelpTopic(Topicnum) 'Brings up context sensitive help based on
  12. '                  'any of the following CONTEXT IDs
  13. '  o ShowContents  'Displays the startup topic
  14. '  o HelpWindowSize(x,y,dx,dy) ' Position help window in a screen
  15. '                              ' independent manner
  16. '  o SearchHelp()  'Brings up the windows help KEYWORD SEARCH dialog box
  17. '***********************************************************************
  18. '
  19. '=====================================================================
  20. 'List of Context IDs for <axGrid>
  21. '=====================================================================
  22. Global Const Hlp_Contents = 10    'Main Help Window
  23. Global Const Hlp_Revisions = 30    'Main Help Window
  24. Global Const Hlp_License = 40    'Main Help Window
  25. Global Const Hlp_Tech_Support = 50    'Main Help Window
  26. Global Const Hlp_Properties = 100    'Second Help Window
  27. Global Const Hlp_Events = 110    'Second Help Window
  28. Global Const Hlp_Standard = 130    'Main Help Window
  29. Global Const Hlp_Methods = 140    'Second Help Window
  30. Global Const Hlp_AutoNewRow = 190    'Second Help Window
  31. Global Const Hlp_ColAllowEdit = 210    'Second Help Window
  32. Global Const Hlp_ShowButtons = 230    'Second Help Window
  33. Global Const Hlp_AddLookup = 240    'Second Help Window
  34. Global Const Hlp_AutoSetup = 250    'Second Help Window
  35. Global Const Hlp_ClearLookup = 280    'Second Help Window
  36. Global Const Hlp_ColHasLookup = 290    'Second Help Window
  37. Global Const Hlp_RemoveLookup = 300    'Second Help Window
  38. Global Const Hlp_RowEmpty = 310    'Second Help Window
  39. Global Const Hlp_ShowAboutBox = 330    'Second Help Window
  40. Global Const Hlp_AfterAddRow = 340    'Second Help Window
  41. Global Const Hlp_AfterDeleteRow = 350    'Second Help Window
  42. Global Const Hlp_AfterEdit = 360    'Second Help Window
  43. Global Const Hlp_BeforeAddRow = 370    'Second Help Window
  44. Global Const Hlp_BeforeDeleteRow = 380    'Second Help Window
  45. Global Const Hlp_BeforeEdit = 390    'Second Help Window
  46. Global Const Hlp_GetColWidth = 410    'Second Help Window
  47. Global Const Hlp_AllowSelection = 420    'Second Help Window
  48. Global Const Hlp_AllowUserResizing = 430    'Second Help Window
  49. Global Const Hlp_BackColorBkg = 440    'Second Help Window
  50. Global Const Hlp_BackColorFixed = 450    'Second Help Window
  51. Global Const Hlp_BorderStyle = 460    'Second Help Window
  52. Global Const Hlp_Col = 480    'Second Help Window
  53. Global Const Hlp_ColAlign = 490    'Second Help Window
  54. Global Const Hlp_ColHeader = 500    'Second Help Window
  55. Global Const Hlp_ColMask = 510    'Second Help Window
  56. Global Const Hlp_Cols = 520    'Second Help Window
  57. Global Const Hlp_ColWidth = 530    'Second Help Window
  58. Global Const Hlp_FixedStyle = 540    'Second Help Window
  59. Global Const Hlp_FontFixed = 550    'Second Help Window
  60. Global Const Hlp_ForeColorFixed = 570    'Second Help Window
  61. Global Const Hlp_FormatString = 580    'Second Help Window
  62. Global Const Hlp_GridLineColor = 590    'Second Help Window
  63. Global Const Hlp_GridSolid = 600    'Second Help Window
  64. Global Const Hlp_LeftCol = 610    'Second Help Window
  65. Global Const Hlp_ListBoxRows = 620    'Second Help Window
  66. Global Const Hlp_RowHeader = 630    'Second Help Window
  67. Global Const Hlp_RowHeight = 640    'Second Help Window
  68. Global Const Hlp_Rows = 650    'Second Help Window
  69. Global Const Hlp_SelectionMode = 660    'Second Help Window
  70. Global Const Hlp_ShowGrid = 670    'Second Help Window
  71. Global Const Hlp_Text = 680    'Second Help Window
  72. Global Const Hlp_TextMatrix = 690    'Second Help Window
  73. Global Const Hlp_TopRow = 700    'Second Help Window
  74. Global Const Hlp_Remove = 710    'Second Help Window
  75. Global Const Hlp_CellFont = 720    'Second Help Window
  76. Global Const Hlp_Clear = 730    'Second Help Window
  77. Global Const Hlp_UseItemData = 740    'Second Help Window
  78. Global Const Hlp_ColHasButton = 750    'Second Help Window
  79. Global Const Hlp_RemoveButton = 760    'Second Help Window
  80. Global Const Hlp_AddButton = 770    'Second Help Window
  81. Global Const Hlp_RowBookmark = 780    'Second Help Window
  82. '=====================================================================
  83. '
  84. '
  85. '  Help engine section.
  86.  
  87. ' Commands to pass WinHelp()
  88. Global Const HELP_CONTEXT = &H1 '  Display topic in ulTopic
  89. Global Const HELP_QUIT = &H2    '  Terminate help
  90. Global Const HELP_FINDER = &HB  '  Display Contents tab
  91. Global Const HELP_INDEX = &H3   '  Display index
  92. Global Const HELP_HELPONHELP = &H4      '  Display help on using help
  93. Global Const HELP_SETINDEX = &H5        '  Set the current Index for multi index help
  94. Global Const HELP_KEY = &H101           '  Display topic for keyword in offabData
  95. Global Const HELP_MULTIKEY = &H201
  96. Global Const HELP_CONTENTS = &H3     ' Display Help for a particular topic
  97. Global Const HELP_SETCONTENTS = &H5  ' Display Help contents topic
  98. Global Const HELP_CONTEXTPOPUP = &H8 ' Display Help topic in popup window
  99. Global Const HELP_FORCEFILE = &H9    ' Ensure correct Help file is displayed
  100. Global Const HELP_COMMAND = &H102    ' Execute Help macro
  101. Global Const HELP_PARTIALKEY = &H105 ' Display topic found in keyword list
  102. Global Const HELP_SETWINPOS = &H203  ' Display and position Help window
  103.  
  104.     Type HELPWININFO
  105.       wStructSize As Long
  106.       X As Long
  107.       Y As Long
  108.       dX As Long
  109.       dY As Long
  110.       wMax As Long
  111.       rgChMember As String * 2
  112.     End Type
  113.     Declare Function WinHelp Lib "User32.dll" Alias "WinHelpA" (ByVal hWnd As Long, ByVal lpHelpFile As String, ByVal wCommand As Long, ByVal dwData As Any) As Long
  114.     Declare Function WinHelpByInfo Lib "User32.dll" Alias "WinHelpA" (ByVal hWnd As Long, ByVal lpHelpFile As String, ByVal wCommand As Long, dwData As HELPWININFO) As Long
  115.     Declare Function WinHelpByStr Lib "User32.dll" Alias "WinHelpA" (ByVal hWnd As Long, ByVal lpHelpFile As String, ByVal wCommand As Long, ByVal dwData$) As Long
  116.     Declare Function WinHelpByNum Lib "User32.dll" Alias "WinHelpA" (ByVal hWnd As Long, ByVal lpHelpFile As String, ByVal wCommand As Long, ByVal dwData&) As Long
  117.     Dim m_hWndMainWindow as Long ' hWnd to tell WINHELP the helpfile owner
  118.  
  119. Dim MainWindowInfo as HELPWININFO
  120. Public Sub SetAppHelp (ByVal hWndMainWindow)
  121. '=====================================================================
  122. 'To use these subroutines to access WINHELP, you need to add
  123. 'at least this one subroutine call to your code
  124. '     o  In the Form_Load event of your main Form enter:
  125. '        Call SetAppHelp(Me.hWnd) 'To setup helpfile variables
  126. '         (If you are not interested in keyword searching or context
  127. '         sensitive help, this is the only call you need to make!)
  128. '=====================================================================
  129.     m_hWndMainWindow = hWndMainWindow
  130.     If Right$(Trim$(App.Path),1) = "\" then
  131.         App.HelpFile = App.Path + "axGrid.HLP"
  132.     else
  133.         App.HelpFile = App.Path + "\axGrid.HLP"
  134.     end if
  135.     MainWindowInfo.wStructSize = 26
  136.     MainWindowInfo.X=256
  137.     MainWindowInfo.Y=256
  138.     MainWindowInfo.dX=512
  139.     MainWindowInfo.dY=512
  140.     MainWindowInfo.rgChMember=Chr$(0)+Chr$(0)
  141. End Sub
  142. Public Sub QuitHelp ()
  143.     Dim Result as Variant
  144.     Result = WinHelp(m_hWndMainWindow, App.HelpFile, HELP_QUIT, Chr$(0) + Chr$(0) + Chr$(0) + Chr$(0))
  145. End Sub
  146. Public Sub ShowHelpTopic (ByVal ContextID As Long)
  147. '=====================================================================
  148. '  FOR CONTEXT SENSITIVE HELP IN RESPONSE TO A COMMAND BUTTON ...
  149. '=====================================================================
  150. '     o   For 'Help button' controls, you can call:
  151. '         Call ShowHelpTopic(<any Hlpxxx entry above>)
  152. '=====================================================================
  153. '  TO ADD FORM LEVEL CONTEXT SENSITIVE HELP...
  154. '=====================================================================
  155. '     o  For FORM level context sensetive help, you should set each 
  156. '        Me.HelpContext=<any Hlp_xxx entry above>
  157. '
  158.     Dim Result as Variant
  159.  
  160.     Result = WinHelpByNum(m_hWndMainWindow, APP.HelpFile, HELP_CONTEXT, Clng(ContextID))
  161.  
  162. End Sub
  163. Public Sub ShowHelpTopic2 (ByVal ContextID As Long)
  164. '=====================================================================
  165. '  DISPLAY CONTEXT SENSITIVE HELP IN WINDOW 2 ...
  166. '=====================================================================
  167. '     o   For 'Help button' controls, you can call:
  168. '         Call ShowHelpTopic2(<any Hlpxxx entry above>)
  169. '
  170.     Dim Result as Variant
  171.  
  172.     Result = WinHelpByNum(m_hWndMainWindow, APP.HelpFile &">HlpWnd02", HELP_CONTEXT, Clng(ContextID))
  173.  
  174. End Sub
  175. Public Sub ShowHelpTopic3 (ByVal ContextID As Long)
  176. '=====================================================================
  177. '  DISPLAY CONTEXT SENSITIVE HELP IN WINDOW 3 ...
  178. '=====================================================================
  179. '     o   For 'Help button' controls, you can call:
  180. '         Call ShowHelpTopic3(<any Hlpxxx entry above>)
  181. '
  182.     Dim Result as Variant
  183.  
  184.     Result = WinHelpByNum(m_hWndMainWindow, APP.HelpFile &">HlpWnd03", HELP_CONTEXT, Clng(ContextID))
  185.  
  186. End Sub
  187. Public Sub ShowGlossary ()
  188.     Dim Result as Variant
  189.  
  190.     Result = WinHelpByNum(m_hWndMainWindow, APP.HelpFile, HELP_CONTEXT, Clng(64000))
  191.  
  192. End Sub
  193. Public Sub ShowPopupHelp (ByVal ContextID As Long)
  194. '=====================================================================
  195. '  FOR POPUP HELP IN RESPONSE TO A COMMAND BUTTON ...
  196. '=====================================================================
  197.     Dim Result as Variant
  198.  
  199.     Result = WinHelpByNum(m_hWndMainWindow, APP.HelpFile, HELP_CONTEXTPOPUP, Clng(ContextID))
  200.  
  201. End Sub
  202. Public Sub DoHelpMacro (ByVal MacroString As String)
  203. '=====================================================================
  204. '  FOR POPUP HELP IN RESPONSE TO A COMMAND BUTTON ...
  205. '=====================================================================
  206.     Dim Result as Variant
  207.  
  208.     Result = WinHelpByStr(m_hWndMainWindow, APP.HelpFile, HELP_COMMAND, ByVal(Macrostring))
  209.  
  210. End Sub
  211. Public Sub ShowHelpContents ()
  212. '=====================================================================
  213. '  DISPLAY STARTUP TOPIC IN RESPONSE TO A COMMAND BUTTON or MENU ...
  214. '=====================================================================
  215. '
  216.     Dim Result as Variant
  217.  
  218.     Result = WinHelpByNum(m_hWndMainWindow, APP.HelpFile, HELP_CONTENTS, Clng(0))
  219.  
  220. End Sub
  221. Public Sub ShowContentsTab ()
  222. '=====================================================================
  223. '  DISPLAY Contents tab (*.CNT)
  224. '=====================================================================
  225. '
  226.     Dim Result as Variant
  227.  
  228.     Result = WinHelpByNum(m_hWndMainWindow, APP.HelpFile, HELP_FINDER, Clng(0))
  229.  
  230. End Sub
  231. Public Sub ShowHelpOnHelp ()
  232. '=====================================================================
  233. '  DISPLAY HELP for WINHELP.EXE  ...
  234. '=====================================================================
  235. '
  236.     Dim Result as Variant
  237.  
  238.     Result = WinHelpByNum(m_hWndMainWindow, APP.HelpFile, HELP_HELPONHELP, Clng(0))
  239.  
  240. End Sub
  241.  
  242. Public Sub SearchHelp ()
  243. '=====================================================================
  244. '  TO ADD KEYWORD SEARCH CAPABILITY...
  245. '=====================================================================
  246. '     o   In your Help|Search menu selection, simply enter:
  247. '         Call SearchHelp() 'To invoke helpfile keyword search dialog
  248. '
  249.     Dim Result as Variant
  250.  
  251.     Result = WinHelp(m_hWndMainWindow, APP.HelpFile, HELP_PARTIALKEY, ByVal "" )
  252.  
  253. End Sub
  254.  
  255. Public Sub SearchHelpKeyWord (Argument as String)
  256. '=====================================================================
  257. '  TO ADD KEYWORD SEARCH CAPABILITY...
  258. '=====================================================================
  259. '     o   In your Help|Search menu selection, simply enter:
  260. '         Call SearchHelp() 'To invoke helpfile keyword search dialog
  261. '
  262.     Dim Result as Variant
  263.  
  264.     Result = WinHelp(m_hWndMainWindow, APP.HelpFile, HELP_PARTIALKEY, ByVal Trim$(Argument))
  265.  
  266. End Sub
  267. Public Sub HelpWindowSize (x As Integer, y As Integer, wx As Integer, wy As Integer)
  268. '=====================================================================
  269. '  TO SET THE SIZE AND POSITION OF THE MAIN HELP WINDOW...
  270. '=====================================================================
  271. '     o   Call HelpWindowSize(x, y, dx, dy), where:
  272. '             x = 1-1024 (position from left edge of screen)
  273. '             y = 1-1024 (position from top of screen)
  274. '             dx= 1-1024 (width)
  275. '             dy= 1-1024 (height)
  276. '
  277.     Dim Result as Variant
  278.     MainWindowInfo.x = x
  279.     MainWindowInfo.y = y
  280.     MainWindowInfo.dx = wx
  281.     MainWindowInfo.dy = wy
  282.     Result = WinHelpByInfo(m_hWndMainWindow, App.HelpFile, HELP_SETWINPOS, MainWindowInfo)
  283. End Sub
  284.