home *** CD-ROM | disk | FTP | other *** search
- READ.ME for VBTools Version 2.5000
- ----------------------------------
-
- Update for VBTools2 to work with Visual Basic 2.0
- ------------------------------------------------------
- All of the modifications we have made to VBTools for VB 2
- compatibility are covered in this file. Please read this file
- BEFORE attempting to use VBTools 2.5.
-
- The primary differences from the current 2.30 documentation are:
-
- 1) Each custom control is now in its own .VBX file.
- 2) All of the custom controls support the new VB2 properties,
- where applicable - details of the support for the new
- properties are covered in this file.
- 3) The assembler routines have been placed in a different .vbx
- (MHAS200.VBX). This will require you to change the declarations
- for those routines. Note that the .bi file delivered with this
- version has been changed.
-
-
- MHEN200.VBX
- -----------
- If you have an earlier version of VBTools installed (2.1 or 2.3),
- the assembler routines for those versions are in the MHEN200 .VB?
- files and you need to read the rest of this section. If VBTools 2.5
- is your first version of VBTools, then you do not need to worry
- about this section.
-
- The assembler routines that are contained in VBTools 2.5 are
- in MHAS200.VBX and MHEE200.VBX. Note that the MHEE200.VB? files
- are designed to be renamed to MHEN200.VB? so that you don't
- *have* to change your 2.3 version source code. We don't deliver
- a file by that name in order to keep from overwriting the
- MHEN200.VBX file from version 2.3.
-
- The best results will be obtained by changing the declarions in
- your code so that the MHAS200.VBX is used for the assembler
- routines.
-
-
- CAUTION
- -------
- We have added two dll files that are required for the proper
- operation of the version 2.5 controls. These two dlls
- (MHDES200.DLL and MHRUN200.DLL) MUST be in your path when
- developing programs with VBTools 2.5.
-
- In addition the MHRUN200.DLL must be present in the path when
- running an .exe file that uses 16 of the VBTools2.5 vbxs. The
- controls that require MHRUN200.DLL are listed below. This means
- that the MHRUN200.DLL must be distributed with your applications
- that use these controls. You are NOT licensed to distribute the
- MHDES200.DLL file.
-
- EXAMPLES
- --------
- All of the VBTools 2.5 example projects are in VB 1.0 format.
- This is required so that VB 1.0 users can run them. If you have
- VB 2.0, and you save the examples, you will NOT be able to load
- them in VB 1.0. Since the VB stores the path information for the
- VBX files inside the project (.MAK) file, our path will undoubtably
- be different from yours. If the VBTools .VBX's are NOT in your path,
- you will probably get an error when attempting to load the examples.
- If you do, simply "File-Add File" the VBX that VB was unable to load
- and re-save the project.
- -------------------------------------------------------------------------
-
- WARNING MhStretch and VB2 (2.5)
- -------------------------------
- Certain controls in VB 2.0 do not have an hWnd (the label control is one).
- MhStretch will *not* work with those type of controls.
-
- -------------------------------------------------------------------------
-
- The modifications have been performed so that the VBTools controls
- are compatible with VB1.0 and VB 2.0. They will load and function
- the same in both development environments, except that the
- "VB2 only" features will not work in VB 1.0. These features include
- 256 color (palette awareness) and the .HelpContextID property.
-
- -------------------------------------------------------------------------
-
- All VBTools controls have been split into separate vbxs, (one
- vbx per control). The following list identifies these vbx's and
- their corresponding controls. If you have existing applications
- that use VBTools, you will need to modify your .MAK project
- files before loading the new controls. Since VB version 2.0
- saves the project .MAK files as ASCII text, editing them should
- be easy.
-
- If you have a VB version 1.0 project and want to convert it to use
- the single VBX's, here's what you need to either:
-
- First save the project in VB 2, which will create an ASCII .MAK file
- that you can edit directly. Remove the references to the old VBX's
- and simple add the names of the new VBX's that your project uses.
- NOTE: If the new VBX's are NOT in your path, you must provide a fully
- qualified path along with the file name.
-
- -or-
-
- 1) Install the VBTools 2.5 VBX's
- 2) Load the VB version 1 project - do NOT run the project
- 3) Highlight each of the VBTools combined custom control
- VBX's in the project window and "File/Remove File" all
- of them.
- 4) Now "File/Add File" each of the new VBTools 2.5 controls
- that are used in the project.
- 5) Save the project
-
- Other DLL's (non custom control DLL's):
- mhdes200.dll - routines needed by all VBTools2 controls while in
- the design environment (VB).
- mhrun200.dll - routines needed by all VBTools2 controls while
- running from within an .EXE program and from
- within VB. Note that this file must be distributed
- with applications using VBTools2.5 controls.
-
- mhen200 - assembly language routines We used the same VBX name so you
- would not have to change any of your declarations. Please see
- the notes below for more information on this file.
-
- ///////////////////////////////////////////////////////////////////////
- All of the controls marked with an asterisk "*" require MHRUN200.DLL
- ///////////////////////////////////////////////////////////////////////
-
- mh3d200 - Mh3d
- mh3b200 - Mh3dButton *
- mhal200 - MhAlarm *
- mhan200 - MhAnimate *
- mhcm200 - MhCommand *
- mhcb200 - MhCallBack
- mhcd200 - MhCards
- mhct200 - MhChart *
- mhcl200 - MhClock *
- mhdc200 - MhDice
- mhfl200 - MhFileList *
- mhfp200 - MhFlip
- mhga200 - MhGauge *
- mhhi200 - MhHisto *
- mhhs200 - MhHScroll
- mhit200 - MhIconTag
- mhin200 - MhInput *
- mhiv200 - MhInvisible
- mhli200 - MhLine
- mhmq200 - MhMarque *
- mhmd200 - MhMDI
- mhml200 - MhMulti *
- mhop200 - MhOddPicture
- mhpc200 - MhPicture
- mhpr200 - MhProp
- mhsv200 - MhSaver *
- mhsl200 - MhSlide
- mhsn200 - MhSpin
- mhsp200 - MhSpread
- mhst200 - MhState *
- mhsr200 - MhStretch
- mhtg200 - MhTag
- mhtm200 - MhTimer *
- mhto200 - MhTool
- mhtr200 - MhTree *
- mhvs200 - MhVScroll
- -------------------------------------------------------------------------
-
- 256 Color Controls (2.5)
- ------------------------
- You should be aware of a few problems when trying to work with
- 256 color pictures in VB 2.0:
-
- 1. VB 2.0 contains no palette optimization techniques. This
- means that the picture with the top "ZOrder" will control the
- palette.
-
- 2. Some of our controls have more than one picture associated
- with them. For those controls, we indicate below the picture
- that will determine the palette for that control.
-
- 3. The following controls have been made "palette aware". This
- means that the controls will handle 256 color bitmaps. (Not 24
- bit color bitmaps, those are still resticted to MhPicture).
-
- Control Which picture controls the palette
- ------- ---------------------------
- MhCommand PictureUp
- MhChart Picture
- MhClock Depends upon style
- MhHisto Picture
- MhIconTag LoadedPicture(1)
- Mh3dButton [With all of the remaining controls,
- MhAnimate the last picture displayed controls
- MhDice the pallette.]
- MhFlip
- MhMarque
- MhMDI
- MhOddPic
- MhSpread
- MhTool
- -------------------------------------------------------------------------
-
- MhChart Custom control (2.5)
- ----------------------
- 2 chart styles have been added
- 15 Pie - 2d
- 16 Pie - 3d
-
- If you have a 256 color bitmap loaded in the .Picture property
- of the MhChart control, it is possible that the palette
- associated with that picture will not contain the colors that we
- use to draw the chart elements. In this case (if a 256 color
- bitmap is loaded), if the chart is output as a picture handle
- (.PictureChart is read) we must "map" the colors used to draw
- the elements of the chart to the closest colors in the picture's
- palette. This may cause the chart element colors in the
- resulting bitmap to be slightly different than the original
- chart depending upon the palette loaded with the underlying
- picture.
-
- -------------------------------------------------------------------------
-
- MHEN200.VBX (2.5)
- -----------------
- The new MHEN200.VBX contains only assembler routines. If your
- program finds a copy of the old MHEN200.VBX in your path first,
- it will use it for the assembler routines. This could create an
- "Unable to find MHEN200" or "Unable to load MHEN200". To solve
- this problem make sure the new vbx is installed in the path
- before the old MHEN200.VBX, or delete the old VBX from your
- system.
-
- -------------------------------------------------------------------------
- All List Type Controls (MhTag, MhIconTag, MhFileList) (2.5)
- -----------------------------------------------------------
-
- New Event
- ---------
- TopIndexChange - this event is fired when the list is scrolled.
-
- New Property
- ------------
- LastAdded <Integer> - this property will be set to the item
- element number after the item is added to the list. This
- property is especially handy for locating items that have been
- added to a sorted list.
-
- New Functionality
- -----------------
-
- This allows you to do "findnext" searches without resetting the
- FoundString property. i.e., you do a FindString and find it at item
- 5, you want to look for the next item, logically you would start
- at item 6. The current method keeps you from having to set
- .FoundString.
-
- For list controls that have the FindString and FoundString
- properties we have added the ability to continue or begin a
- search anywhere in the list. To accomplish this, simply set the
- FoundString to a value one less than the index of the item where
- you would like to begin the search. -1 will start at the
- beginning.
-
- Since this search will "wrap-around" to the first item in the list after
- reaching the end, make sure you check to FoundString value to see if it
- is less than the starting element.
- -------------------------------------------------------------------------
-
- MDI-style controls
- ------------------
- The TabStop properties are not relevant when an MDI-style control has
- a MaxButton. The reason is that Microsoft uses the same values in
- the "style bits" to indicate TabStop as they do for MaxButton.
- Because MS never intended for controls to have MDI characteristics,
- they made no allowance for this.
-
- This means that the user cannot use the <Tab> key to move to a
- control that has a MaxButton. You can work around this by having
- an MhInvisible control on the form, using the TabIndex value you
- would normally use for the MDI-type control. When the
- MhInvisible control gets a _GotFocus event, simply use .SetFocus
- to set the focus to the MDI-style control.
-
- -------------------------------------------------------------------------
-
- MHMDI Custom Control
- --------------------
- When setting the .Windowstate in the form_load proceedure you must do a
- Form.Show before this will work.
-
- Added the following properties
-
- .ScrollChildren (TRUE/FALSE). Setting this property to TRUE allows
- you to scroll any child controls up or down (at design time you must
- use the right mouse button to accomplish this).
-
- HScrollLargeChange - Sets the large change value for the horizontal
- scroll bars.
-
- HScrollMax - Sets the maximum scroll value for the horizontal scroll
- bars.
-
- HScrollMin - Sets the minimum scroll value for the horizontal scroll
- bars.
-
- HScrollSmallChange - Sets the small change value for the horizontal
- scroll bars.
-
- HScrollValue - sets the scroll bar value for the horizontal scroll bar.
-
- InstantScrollBars - when set to True will cause the items on the screen
- to respond immeadiately to changes in the scroll bar thumb position.
-
- ScrollBars - determines which scroll bars if any that will appear on the
- MDI child.
- 0 - None
- 1 - Horizontal
- 2 - Vertical
- 3 - Horizontal and Vertical
-
- VScrollLargeChange - Sets the large change value for the horizontal
- scroll bars.
-
- VScrollMax - Sets the maximum scroll value for the horizontal scroll
- bars.
-
- VScrollMin - Sets the minimum scroll value for the horizontal scroll
- bars.
-
- VScrollSmallChange - Sets the small change value for the horizontal
- scroll bars.
-
- VScrollValue - sets the scroll bar value for the horizontal scroll bar.
-
- UseBitBlt - This property when set to true will not stretch the picture
- to fit the MDI control.
-
- -------------------------------------------------------------------------
-
- MhTool Custom Control
- ---------------------
- When .SizingMode is 1, setting the .MaxButton property is not
- valid and an error 32009 is generated if you try to set it to
- TRUE from code.
-
- -------------------------------------------------------------------------
-
- MhAlarm Custom Control
- ----------------------
- We've added a new value to the .RingOn property. If you set it to 3,
- clicking the control will *NOT* cause it to ring.
- -------------------------------------------------------------------------
-
- More on Methods
- ---------------
- If you want to use Methods such as Line and Print on custom controls,
- you can do so by placing a standard VB Picture Box control within the
- control and then using the Methods on that control. This also applies to
- the MhMDI control.
-
- Please note that VB doesn't support *custom* Methods with custom controls. In other
- words, this is not a case of our controls not supporting the methods--
- we don't have a choice.
- -------------------------------------------------------------------------
- Double Clicking
- ---------------
- We have had a report from someone who stated that after running VB and
- one of the VBTools example programs (he didn't know which one), that he
- could no longer double-click in *ANY* Windows application. He traced the
- problem to the following line in the SYSTEM.INI file:
-
- device=d:\windows\system\vtd.386
-
- Replacing that line with the default line cured the problem:
-
- device=*vtd
-
- This driver was added when the Microsoft Profiler was installed.
-
- Further testing reveals that under Windows 3.1, you should use
- device = *vtd
- while under 3.0, the vtd.386 driver should be used. The conflict
- does not seem to arise under Windows 3.0, only 3.1.
- -------------------------------------------------------------------------
-
- SetParent problem
- -----------------
- All owner draw list boxes have a problem if you use them in conjunction
- with setparent. The symtom is that after the call to SetParent the control
- will not display any contents. You can get around this problem by setting
- a property that will recreate the control. Changeing .SingleSelect should
- work with our controls. BTW this is a problem with all owner draw list
- boxes whether they are MicroHelp's or from another company. Our controls
- that are affected by this are MhFileList, MhTree and MhIconTag.
-
- -------------------------------------------------------------------------
-
- MhFileList Custom Control
- -------------------------
- Added a property .LastAdded. This is a read only property that will
- return the actual position of the item in the list that was last added
- with the .AddItem method. This is handy for sorted lists to determine
- where the last item went.
-
- -------------------------------------------------------------------------
-
- MhTree Custom Control
- ---------------------
- The documentation states that the contents of your list is preserved if
- you change the .ListCount value. This is true if you are increasing the
- value of the .ListCount property. It is not true, however if you
- decrease this value. In the latter case all list contents will be lost.
-
- Added a property .ListVisible a boolean, runtime, read only, array
- property that will tell you if a specified item is currently visible in
- the list box.
-
- Added a property .ListExpand. A runtime, boolean, array property that will
- set or return the current expansion state of the specified item in the list.
- This property will return an error (32002 - cannot expand unless visible) if
- the item that is specified is not visible. Before using this to set the
- .ListExpand to true, check to be sure the item is visible.
-
- -------------------------------------------------------------------------
-
- WinHelp
- -------
- If you do NOT have Windows 3.1, then you will need to extract the
- 3.1 version of WinHelp.exe from disk 2 and overwrite your existing
- Windows 3.0 version of WinHelp.exe which, by default, should be in
- your WINDOWS directory. WinHelp 3.1 will read all 3.1 and 3.0 compiled
- help files.
-
- To extract the WinHelp.exe file, copy the WHELP.EXE archive from disk
- two and then uncompress it by typing WHELP at the DOS prompt.
- -or-
- Place disk two in your floppy drive and then change to that drive.
- Example "A:" [enter]
- Next enter the following command-
- "WHELP C:\WINDOWS" [enter]
- Where C:\WINDOWS is the drive and directory where Windows 3.0 is
- installed.
-
- -------------------------------------------------------------------------
- SCONVERT.EXE
-
- The SCONVERT utility is not compatible with VBTools 2.5. If you do not
- have a copy of VBTools 2 prior to 2.5, you will not be able to use
- this utility.
-
- -------------------------------------------------------------------------
- VBTOOLS2.INI
- Since VBTools 2.5 has all of the custom controls in a separate VBX,
- this file is no longer needed or used in this version.
-
- -------------------------------------------------------------------------
- Common Dialogs
-
- Hint: The common dialog routines are not "modal" by default when working
- with Visual Basic. You can give them the effect of being modal
- by simply setting your form's .Enabled property to zero before
- the call to the common dialog, and then setting it back to
- TRUE after the call.
-
- This is a problem with Visual Basic and the COMMDLG DLL which has
- been acknowledged by Microsoft.
-
- -------------------------------------------------------------------------
- Manual Errata:
- --------------
- Page 35, third line should read:
- CtrlHwnd% = MhCtrlhWnd(SomeControl)
-
- MhChart:
- The .Print property to ouput a copy of the chart to the printer,
- should be .Printer. The usage is the same.
-
-
- DLL's
- -----
-
- Although we mention this in the manual, we would like to remind you about
- two points concerning the DLL's that are a part of this product:
-
- 1. You are licensed to distribute only the runtime DLLs that are a part
- of this product. As shipped to you, they all have a .VBR extension.
- In addition, you may distribute the MHCARDS.DLL and COMMDLG.DLL, as
- long as they are an integral part of your application.
-
- When you distribute the .VBR files, be sure to name them as .VBX
- files!
-
- 2. If you receive an "Out of memory" error when you attempt to call a
- routine from the DLL while in design mode, or an "Error loading Custom
- Control", it usually indicates that you have tried to use the runtime
- DLL from within VB.
-
-
- <End of File>