home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 10 / 10.iso / l / l408 / 1.img / MAIN.EXE / READ.ME < prev    next >
Encoding:
Text File  |  1992-12-07  |  19.0 KB  |  498 lines

  1.                     READ.ME for VBTools Version 2.5000
  2.                     ----------------------------------
  3.  
  4. Update for VBTools2 to work with Visual Basic 2.0
  5. ------------------------------------------------------
  6. All of the modifications we have made to VBTools for VB 2
  7. compatibility are covered in this file.  Please read this file
  8. BEFORE attempting to use VBTools 2.5.
  9.  
  10. The primary differences from the current 2.30 documentation are:
  11.  
  12. 1) Each custom control is now in its own .VBX file.
  13. 2) All of the custom controls support the new VB2 properties,
  14.    where applicable - details of the support for the new
  15.    properties are covered in this file.
  16. 3) The assembler routines have been placed in a different .vbx
  17.    (MHAS200.VBX). This will require you to change the declarations
  18.    for those routines. Note that the .bi file delivered with this
  19.    version has been changed.
  20.    
  21.  
  22. MHEN200.VBX
  23. -----------
  24. If you have an earlier version of VBTools installed (2.1 or 2.3),
  25. the assembler routines for those versions are in the MHEN200 .VB? 
  26. files and you need to read the rest of this section. If VBTools 2.5
  27. is your first version of VBTools, then you do not need to worry 
  28. about this section.
  29.  
  30. The assembler routines that are contained in VBTools 2.5 are 
  31. in MHAS200.VBX and MHEE200.VBX. Note that the MHEE200.VB? files
  32. are designed to be renamed to MHEN200.VB? so that you don't
  33. *have* to change your 2.3 version source code. We don't deliver 
  34. a file by that name in order to keep from overwriting the 
  35. MHEN200.VBX file from version 2.3.
  36.  
  37. The best results will be obtained by changing the declarions in
  38. your code so that the MHAS200.VBX is used for the assembler 
  39. routines.
  40.  
  41.  
  42. CAUTION
  43. -------
  44. We have added two dll files that are required for the proper
  45. operation of the version 2.5 controls. These two dlls 
  46. (MHDES200.DLL and MHRUN200.DLL) MUST be in your path when
  47. developing programs with VBTools 2.5. 
  48.  
  49. In addition the MHRUN200.DLL must be present in the path when
  50. running an .exe file that uses 16 of the VBTools2.5 vbxs. The
  51. controls that require MHRUN200.DLL are listed below.  This means
  52. that the MHRUN200.DLL must be distributed with your applications
  53. that use these controls.  You are NOT licensed to distribute the
  54. MHDES200.DLL file.
  55.  
  56. EXAMPLES
  57. --------
  58. All of the VBTools 2.5 example projects are in VB 1.0 format.
  59. This is required so that VB 1.0 users can run them.  If you have
  60. VB 2.0, and you save the examples, you will NOT be able to load
  61. them in VB 1.0.  Since the VB stores the path information for the
  62. VBX files inside the project (.MAK) file, our path will undoubtably
  63. be different from yours.  If the VBTools .VBX's are NOT in your path,
  64. you will probably get an error when attempting to load the examples.
  65. If you do, simply "File-Add File" the VBX that VB was unable to load
  66. and re-save the project.
  67. -------------------------------------------------------------------------
  68.  
  69. WARNING MhStretch and VB2 (2.5)
  70. -------------------------------
  71. Certain controls in VB 2.0 do not have an hWnd (the label control is one). 
  72. MhStretch will *not* work with those type of controls.
  73.  
  74. -------------------------------------------------------------------------
  75.  
  76. The modifications have been performed so that the VBTools controls
  77. are compatible with VB1.0 and VB 2.0. They will load and function
  78. the same in both development environments, except that the 
  79. "VB2 only" features will not work in VB 1.0. These features include
  80. 256 color (palette awareness) and the .HelpContextID property.
  81.  
  82. -------------------------------------------------------------------------
  83.  
  84. All VBTools controls have been split into separate vbxs, (one
  85. vbx per control). The following list identifies these vbx's and
  86. their corresponding controls. If you have existing applications
  87. that use VBTools, you will need to modify your .MAK project
  88. files before loading the new controls.  Since VB version 2.0
  89. saves the project .MAK files as ASCII text, editing them should
  90. be easy.
  91.  
  92. If you have a VB version 1.0 project and want to convert it to use
  93. the single VBX's, here's what you need to either:
  94.  
  95.    First save the project in VB 2, which will create an ASCII .MAK file
  96.    that you can edit directly.  Remove the references to the old VBX's
  97.    and simple add the names of the new VBX's that your project uses.
  98.    NOTE: If the new VBX's are NOT in your path, you must provide a fully
  99.    qualified path along with the file name.
  100.  
  101. -or-
  102.  
  103. 1) Install the VBTools 2.5 VBX's
  104. 2) Load the VB version 1 project - do NOT run the project
  105. 3) Highlight each of the VBTools combined custom control
  106.    VBX's in the project window and "File/Remove File" all
  107.    of them.
  108. 4) Now "File/Add File" each of the new VBTools 2.5 controls
  109.    that are used in the project.
  110. 5) Save the project
  111.  
  112. Other DLL's (non custom control DLL's):
  113. mhdes200.dll - routines needed by all VBTools2 controls while in
  114.                the design environment (VB).
  115. mhrun200.dll - routines needed by all VBTools2 controls while 
  116.                running from within an .EXE program and from 
  117.                within VB. Note that this file must be distributed 
  118.                with applications using VBTools2.5 controls.
  119.  
  120. mhen200 - assembly language routines  We used the same VBX name so you
  121.           would not have to change any of your declarations. Please see
  122.           the notes below for more information on this file.
  123.  
  124. ///////////////////////////////////////////////////////////////////////
  125. All of the controls marked with an asterisk "*" require MHRUN200.DLL
  126. ///////////////////////////////////////////////////////////////////////
  127.  
  128. mh3d200 - Mh3d
  129. mh3b200    - Mh3dButton    *
  130. mhal200    - MhAlarm    *
  131. mhan200    - MhAnimate    *
  132. mhcm200 - MhCommand    *
  133. mhcb200 - MhCallBack
  134. mhcd200 - MhCards
  135. mhct200 - MhChart    *
  136. mhcl200 - MhClock    *
  137. mhdc200 - MhDice
  138. mhfl200 - MhFileList    *
  139. mhfp200 - MhFlip
  140. mhga200 - MhGauge    *
  141. mhhi200 - MhHisto    *
  142. mhhs200 - MhHScroll
  143. mhit200 - MhIconTag
  144. mhin200 - MhInput    *
  145. mhiv200 - MhInvisible
  146. mhli200 - MhLine
  147. mhmq200 - MhMarque    *
  148. mhmd200 - MhMDI
  149. mhml200 - MhMulti    *
  150. mhop200 - MhOddPicture
  151. mhpc200 - MhPicture
  152. mhpr200 - MhProp
  153. mhsv200 - MhSaver    *
  154. mhsl200 - MhSlide
  155. mhsn200 - MhSpin
  156. mhsp200 - MhSpread
  157. mhst200 - MhState    *
  158. mhsr200 - MhStretch
  159. mhtg200 - MhTag
  160. mhtm200 - MhTimer    *
  161. mhto200 - MhTool
  162. mhtr200 - MhTree    *
  163. mhvs200 - MhVScroll
  164. -------------------------------------------------------------------------
  165.  
  166. 256 Color Controls (2.5)
  167. ------------------------
  168. You should be aware of a few problems when trying to work with
  169. 256 color pictures in VB 2.0:
  170.  
  171. 1. VB 2.0 contains no palette optimization techniques. This
  172. means that the picture with the top "ZOrder" will control the
  173. palette.
  174.  
  175. 2. Some of our controls have more than one picture associated
  176. with them. For those controls, we indicate below the picture
  177. that will determine the palette for that control.
  178.  
  179. 3. The following controls have been made "palette aware". This
  180. means that the controls will handle 256 color bitmaps. (Not 24
  181. bit color bitmaps, those are still resticted to MhPicture).
  182.  
  183. Control            Which picture controls the palette
  184. -------            ---------------------------
  185. MhCommand         PictureUp
  186. MhChart            Picture
  187. MhClock            Depends upon style
  188. MhHisto            Picture
  189. MhIconTag        LoadedPicture(1)
  190. Mh3dButton              [With all of the remaining controls,
  191. MhAnimate                the last picture displayed controls
  192. MhDice                   the pallette.]
  193. MhFlip
  194. MhMarque
  195. MhMDI
  196. MhOddPic
  197. MhSpread
  198. MhTool
  199. -------------------------------------------------------------------------
  200.  
  201. MhChart Custom control (2.5)
  202. ----------------------
  203. 2 chart styles have been added 
  204. 15 Pie - 2d
  205. 16 Pie - 3d
  206.  
  207. If you have a 256 color bitmap loaded in the .Picture property
  208. of the MhChart control, it is possible that the palette
  209. associated with that picture will not contain the colors that we
  210. use to draw the chart elements. In this case (if a 256 color
  211. bitmap is loaded), if the chart is output as a picture handle
  212. (.PictureChart is read) we must "map" the colors used to draw
  213. the elements of the chart to the closest colors in the picture's
  214. palette. This may cause the chart element colors in the
  215. resulting bitmap to be slightly different than the original
  216. chart depending upon the palette loaded with the underlying
  217. picture.
  218.  
  219. -------------------------------------------------------------------------
  220.  
  221. MHEN200.VBX (2.5)
  222. -----------------
  223. The new MHEN200.VBX contains only assembler routines. If your
  224. program finds a copy of the old MHEN200.VBX in your path first,
  225. it will use it for the assembler routines. This could create an
  226. "Unable to find MHEN200" or "Unable to load MHEN200". To solve
  227. this problem make sure the new vbx is installed in the path
  228. before the old MHEN200.VBX, or delete the old VBX from your
  229. system.
  230.  
  231. -------------------------------------------------------------------------
  232. All List Type Controls (MhTag, MhIconTag, MhFileList) (2.5)
  233. -----------------------------------------------------------
  234.  
  235. New Event
  236. ---------
  237. TopIndexChange - this event is fired when the list is scrolled.
  238.  
  239. New Property
  240. ------------
  241. LastAdded <Integer> - this property will be set to the item
  242. element number after the item is added to the list. This
  243. property is especially handy for locating items that have been
  244. added to a sorted list.
  245.  
  246. New Functionality
  247. -----------------
  248.  
  249. This allows you to do "findnext" searches without resetting the
  250. FoundString property. i.e., you do a FindString and find it at item
  251. 5, you want to look for the next item, logically you would start
  252. at item 6. The current method keeps you from having to set
  253. .FoundString.
  254.  
  255. For list controls that have the FindString and FoundString
  256. properties we have added the ability to continue or begin a
  257. search anywhere in the list. To accomplish this, simply set the
  258. FoundString to a value one less than the index of the item where
  259. you would like to begin the search. -1 will start at the
  260. beginning.
  261.  
  262. Since this search will "wrap-around" to the first item in the list after
  263. reaching the end, make sure you check to FoundString value to see if it
  264. is less than the starting element.
  265. -------------------------------------------------------------------------
  266.  
  267. MDI-style controls
  268. ------------------
  269. The TabStop properties are not relevant when an MDI-style control has
  270. a MaxButton. The reason is that Microsoft uses the same values in
  271. the "style bits" to indicate TabStop as they do for MaxButton.
  272. Because MS never intended for controls to have MDI characteristics,
  273. they made no allowance for this.
  274.  
  275. This means that the user cannot use the <Tab> key to move to a
  276. control that has a MaxButton. You can work around this by having
  277. an MhInvisible control on the form, using the TabIndex value you
  278. would normally use for the MDI-type control. When the
  279. MhInvisible control gets a _GotFocus event, simply use .SetFocus
  280. to set the focus to the MDI-style control.
  281.  
  282. -------------------------------------------------------------------------
  283.  
  284. MHMDI Custom Control
  285. --------------------
  286. When setting the .Windowstate in the form_load proceedure you must do a 
  287. Form.Show before this will work.
  288.  
  289. Added the following properties
  290.  
  291. .ScrollChildren (TRUE/FALSE). Setting this property to TRUE allows 
  292. you to scroll any child controls up or down (at design time you must 
  293. use the right mouse button to accomplish this).
  294.  
  295. HScrollLargeChange - Sets the large change value for the horizontal
  296. scroll bars.
  297.  
  298. HScrollMax - Sets the maximum scroll value for the horizontal scroll 
  299. bars.
  300.  
  301. HScrollMin - Sets the minimum scroll value for the horizontal scroll 
  302. bars.
  303.  
  304. HScrollSmallChange - Sets the small change value for the horizontal
  305. scroll bars.
  306.  
  307. HScrollValue - sets the scroll bar value for the horizontal scroll bar.
  308.  
  309. InstantScrollBars - when set to True will cause the items on the screen
  310. to respond immeadiately to changes in the scroll bar thumb position.
  311.  
  312. ScrollBars - determines which scroll bars if any that will appear on the 
  313. MDI child.
  314.   0 - None
  315.   1 - Horizontal
  316.   2 - Vertical
  317.   3 - Horizontal and Vertical
  318.  
  319. VScrollLargeChange - Sets the large change value for the horizontal
  320. scroll bars.
  321.  
  322. VScrollMax - Sets the maximum scroll value for the horizontal scroll 
  323. bars.
  324.  
  325. VScrollMin - Sets the minimum scroll value for the horizontal scroll 
  326. bars.
  327.  
  328. VScrollSmallChange - Sets the small change value for the horizontal
  329. scroll bars.
  330.  
  331. VScrollValue - sets the scroll bar value for the horizontal scroll bar.
  332.  
  333. UseBitBlt - This property when set to true will not stretch the picture 
  334. to fit the MDI control.
  335.  
  336. -------------------------------------------------------------------------
  337.  
  338. MhTool Custom Control
  339. ---------------------
  340. When .SizingMode is 1, setting the .MaxButton property is not
  341. valid and an error 32009 is generated if you try to set it to
  342. TRUE from code.
  343.  
  344. -------------------------------------------------------------------------
  345.  
  346. MhAlarm Custom Control
  347. ----------------------
  348. We've added a new value to the .RingOn property. If you set it to 3, 
  349. clicking the control will *NOT* cause it to ring.
  350. -------------------------------------------------------------------------
  351.  
  352. More on Methods
  353. ---------------
  354. If you want to use Methods such as Line and Print on custom controls,
  355. you can do so by placing a standard VB Picture Box control within the
  356. control and then using the Methods on that control. This also applies to
  357. the MhMDI control.
  358.  
  359. Please note that VB doesn't support *custom* Methods with custom controls. In other
  360. words, this is not a case of our controls not supporting the methods--
  361. we don't have a choice.
  362. -------------------------------------------------------------------------
  363. Double Clicking
  364. ---------------
  365. We have had a report from someone who stated that after running VB and
  366. one of the VBTools example programs (he didn't know which one), that he
  367. could no longer double-click in *ANY* Windows application. He traced the
  368. problem to the following line in the SYSTEM.INI file:
  369.  
  370.     device=d:\windows\system\vtd.386
  371.     
  372. Replacing that line with the default line cured the problem:
  373.     
  374.     device=*vtd
  375.     
  376. This driver was added when the Microsoft Profiler was installed.
  377.  
  378. Further testing reveals that under Windows 3.1, you should use
  379.     device = *vtd
  380. while under 3.0, the vtd.386 driver should be used.  The conflict
  381. does not seem to arise under Windows 3.0, only 3.1.
  382. -------------------------------------------------------------------------
  383.  
  384. SetParent problem
  385. -----------------
  386. All owner draw list boxes have a problem if you use them in conjunction
  387. with setparent. The symtom is that after the call to SetParent the control
  388. will not display any contents. You can get around this problem by setting 
  389. a property that will recreate the control. Changeing .SingleSelect should
  390. work with our controls. BTW this is a problem with all owner draw list
  391. boxes whether they are MicroHelp's or from another company. Our controls
  392. that are affected by this are MhFileList, MhTree and MhIconTag.
  393.  
  394. -------------------------------------------------------------------------
  395.  
  396. MhFileList Custom Control
  397. -------------------------
  398. Added a property .LastAdded. This is a read only property that will 
  399. return the actual position of the item in the list that was last added
  400. with the .AddItem method. This is handy for sorted lists to determine
  401. where the last item went.
  402.  
  403. -------------------------------------------------------------------------
  404.  
  405. MhTree Custom Control
  406. ---------------------
  407. The documentation states that the contents of your list is preserved if
  408. you change the .ListCount value. This is true if you are increasing the
  409. value of the .ListCount property. It is not true, however if you 
  410. decrease this value. In the latter case all list contents will be lost.
  411.  
  412. Added a property .ListVisible a boolean, runtime, read only, array 
  413. property that will tell you if a specified item is currently visible in 
  414. the list box.
  415.          
  416. Added a property .ListExpand. A runtime, boolean, array property that will 
  417. set or return the current expansion state of the specified item in the list. 
  418. This property will return an error (32002 - cannot expand unless visible) if 
  419. the item that is specified is not visible. Before using this to set the 
  420. .ListExpand to  true, check to be sure the item is visible. 
  421.  
  422. -------------------------------------------------------------------------
  423.  
  424. WinHelp
  425. -------
  426.    If you do NOT have Windows 3.1, then you will need to extract the
  427.    3.1 version of WinHelp.exe from disk 2 and overwrite your existing
  428.    Windows 3.0 version of WinHelp.exe which, by default, should be in
  429.    your WINDOWS directory.  WinHelp 3.1 will read all 3.1 and 3.0 compiled
  430.    help files.
  431.  
  432.    To extract the WinHelp.exe file, copy the WHELP.EXE archive from disk
  433.    two and then uncompress it by typing WHELP at the DOS prompt.
  434.                         -or-
  435.    Place disk two in your floppy drive and then change to that drive.
  436.    Example "A:" [enter]
  437.    Next enter the following command-
  438.    "WHELP C:\WINDOWS" [enter]
  439.    Where C:\WINDOWS is the drive and directory where Windows 3.0 is
  440.    installed.
  441.  
  442. -------------------------------------------------------------------------
  443. SCONVERT.EXE
  444.  
  445.    The SCONVERT utility is not compatible with VBTools 2.5. If you do not
  446.    have a copy of VBTools 2 prior to 2.5, you will not be able to use
  447.    this utility.
  448.  
  449. -------------------------------------------------------------------------
  450. VBTOOLS2.INI
  451.    Since VBTools 2.5 has all of the custom controls in a separate VBX,
  452.    this file is no longer needed or used in this version.
  453.  
  454. -------------------------------------------------------------------------
  455. Common Dialogs
  456.  
  457. Hint: The common dialog routines are not "modal" by default when working
  458.       with Visual Basic. You can give them the effect of being modal
  459.       by simply setting your form's .Enabled property to zero before
  460.       the call to the common dialog, and then setting it back to
  461.       TRUE after the call.
  462.  
  463.       This is a problem with Visual Basic and the COMMDLG DLL which has
  464.       been acknowledged by Microsoft.
  465.       
  466. -------------------------------------------------------------------------
  467. Manual Errata:
  468. --------------
  469. Page 35, third line should read:
  470.         CtrlHwnd% = MhCtrlhWnd(SomeControl)
  471.  
  472. MhChart:
  473.     The .Print property to ouput a copy of the chart to the printer, 
  474.     should be .Printer.  The usage is the same.
  475.  
  476.  
  477. DLL's
  478. -----
  479.  
  480. Although we mention this in the manual, we would like to remind you about
  481. two points concerning the DLL's that are a part of this product:
  482.  
  483. 1. You are licensed to distribute only the runtime DLLs that are a part
  484.    of this product. As shipped to you, they all have a .VBR extension.
  485.    In addition, you may distribute the MHCARDS.DLL and COMMDLG.DLL, as
  486.    long as they are an integral part of your application.
  487.    
  488.    When you distribute the .VBR files, be sure to name them as .VBX
  489.    files!
  490.  
  491. 2. If you receive an "Out of memory" error when you attempt to call a
  492.    routine from the DLL while in design mode, or an "Error loading Custom
  493.    Control", it usually indicates that you have tried to use the runtime
  494.    DLL from within VB.
  495.  
  496.  
  497. <End of File>
  498.