home *** CD-ROM | disk | FTP | other *** search
- ==========================================================================
- VSVBX - VideoSoft Custom Control Library
- ==========================================================================
-
- Vendor Information
- VideoSoft
- 2625 Alcatraz Avenue, Suite 271
- Berkeley, California 94705
- Phone (510) 547-7295
- FAX (510) 547-1084
- Compuserve: 71552,3052
- Internet: 71552,3052@compuserve.com
-
- Distributor Information
- Compuserve
- at the CIS prompt type "go swreg"
- Product ID 1084
- Public Software Library
- 1-800-242-4775
- FAX 1-713-524-6398
- Product ID 10941
- American Express/MC/VISA/Discover
-
- ==========================================================================
- Version History
-
- Digit changes indicate new versions. New versions reflect major
- changes in functionality; they typically require upgrades and new
- developer's license files (.DEV).
-
- Letter changes indicate maintenance releases with minor bug fixes or
- subtle improvements.
-
- Recent versions are listed before older ones.
- ==========================================================================
- ----------------------------
- 4.0 Feb 1994
- ----------------------------
-
- NEW LOOK FOR THE INDEXTAB
-
- The new style looks like the tabs used in Word for Windows and Excel.
- With the new look, adjacent tabs no longer overlap, so we added optional
- "dog-ears" to allow for tab scrolling with the mouse.
-
- The new IndexTab also allows hot keys to be used with vertical
- text (when the Position property is set to Left, Right, or Right
- Face In).
-
- DESIGN-TIME AUTO-SWITCHING FOR THE INDEXTAB
-
- The IndexTab now switches child containers at design time. This
- makes form design much easier.
-
- When AutoSwitch is True, double-click on any tab with the RIGHT
- mouse button to bring up the appropriate child container, just
- like at runtime. Then you can easily lay out each container.
-
- To see all containers, double-click on the blank space next to
- the last tab or on the current tab itself. All containers will appear
- side-by-side, arranged according to their tab sequence. To change the
- tab sequnce, just drag the controls around.
-
- If you don't want to use this new feature, set AutoSwitch to False.
-
- FOCUS TRACKING FOR THE INDEXTAB
-
- The IndexTab now tracks mouse movements. When you push the mouse
- button, it starts tracking the mouse. As you drag, the current tab
- follows the mouse, but you don't get a click event or container
- switch until you release the mouse button.
-
- You can find which tab you the are moving the mouse over by trapping
- the MouseMove event and reading the CurrTab property. This is useful
- if you wish to display context-sensitive help for each tab.
-
- BOLDCURRENT PROPERTY FOR THE INDEXTAB
-
- When this property is set to TRUE, the IndexTab shows the current
- tab's caption using a bold font.
-
- BORDER PROPERTY FOR THE INDEXTAB
-
- This property determines the width of the border around the containers
- inside the IndexTab. This border is in addition to the bevel automatically
- provided when one of the 3D styles is used.
-
- DOGEARS PROPERTY FOR THE INDEXTAB
-
- This property determines whether the IndexTab should display "dog-ears"
- at the start and end of a tab row to indicate the user can scroll the
- tabs. If this property is set to TRUE, the dog-ears appear automatically
- when the tabs spill off the page and you can use the mouse to scroll the
- tabs.
-
- TABPICTURE, TABCOLOR, TABENABLED PROPERTIES FOR THE INDEXTAB
-
- These new property arrays allow you to attach a picture (bitmap or icon)
- to each tab, to control the color of individual tabs, and to enable
- and disable specific tabs so they cannot be selected with the mouse
- or keyboard.
-
- STYLE PROPERTY FOR THE ELASTIC
-
- This new property makes the Elastic look similar to the standard
- frame control, but retaining its resizing and 3D capabilities.
- The "Style" property has three settings:
- 0 - Default: this is the original Elastic Style.
- 1 - Frame Top: this looks like the standard frame.
- 2 - Frame Bottom: this looks like the standard frame but with
- the caption below the Elastc instead of across
- the top.
-
- TAGPOSITION PROPERTY FOR THE ELASTIC
-
- This new property allows the TagLabels to be placed either to the
- left or above each tagged control. In previous versions, the
- TagLabels always appeared to the left of the tagged controls.
- Label sizes are stil determined by the TagWidth property.
-
- NEW SETTINGS FOR THE ELASTIC'S BEVELINNER AND BEVELOUTER PROPERTIES
-
- In addition to the Inset and Raised settings, the Elastic
- now has "5 - Fillet", "6 - Groove", and "7 - Shadow" 3D effects.
- Obs: The Shadow effect is available for inner bevels only.
-
- SHADOWCOLOR PROPERTY FOR THE ELASTIC
-
- The "ShadowColor" property allows you to define the color for
- the shadow created when the "BevelInner" property is set to
- "7 - Shadow".
-
- TABCAPTION BUG IN THE INDEXTAB
-
- The index tab would not change the last tab caption properly
- if the old last tab caption was an empty string. This was fixed.
-
- QUOTE BUG IN THE AWK
-
- The Awk did not handle embedded quotes correctly. Now it does:
- Only quotes that appear in the beginning of a field are seen as
- quotes. Embedded quotes are seen as regular characters.
-
- FILTERQUOTES PROPERTY FOR THE AWK
-
- The "FilterQuotes" property forces the Awk to remove leading and
- trailing quotes from fields when "MatchQuotes" is set to True.
-
- For example,
- VSAwk1 = "Name 'John McAdam' Age 23"
- VSAwk1.MatchQuotes = True
- VSAwk1.FilterQuotes = False
- ? VSAwk1.F(2)
- 'John McAdam'
- VSAwk1.FilterQuotes = True
- ? VSAwk1.F(2)
- John McAdam
-
- VAL PROPERTY FOR THE AWK
-
- This new property gives the Awk a powerful function evaluator.
- Set the Caption property to a mathematical expression and the
- "Val" property returns its value.
-
- For example,
- VSAwk1 = "(1+2)*3^2"
- ? VSAwk1.Val
- 27
-
- The following operators are supported, according to their
- priority:
-
- Prty Op Description Op Description
- ---- -- --------------- -- ---------------
- 6: () subexpressions
- 5: ^ raise to power
- 4: * times / divide
- % modulus \ divide and truncate
- 3: + plus - minus
- 2: > greater >= greater or equal
- < less <= less or equal
- = equal <> not equal
- 1: & and | or
-
- The following built-in functions are supported (they are
- case-insensitive):
-
- abs, sin, cos, tan, atn, log, exp
-
- The Awk evaluator also supports variables. When the expression
- parser finds a token it cannot interpret, if fires the new Awk
- event "Variable". This event has three parameters:
-
- Variable - Name of the variable that needs to be evaluated
- Value - Value of the variable
- Accept - Flag that indicates the variable is valid
-
- Your event handler will typically read the variable name from
- the "Variable" parameter, supply its value through the "Value"
- parameter, and set the "Accept" flag to indicate the variable
- is valid. If the variable name is not valid, return without
- setting the"accept" parameter and Awk will generate a "Bad Token"
- error.
-
- For example, if your program defines variables "x" and "y", your
- event handler might look like this:
-
- Sub VSAwk1_Variable (Variable$, Value!, Accept%)
- Accept% = True
- Select Case Variable$
- Case "X", "x"
- Value! = GlobalX!
- Case "Y", "y"
- Value! = GlobalY!
- Case Else
- Accept% = False ' unrecognized variable
- End Select
- End Sub
-
- *Obs: To keep the code fast and compact, reentrant calls are not
- allowed. This means you may not use the "Val" property while
- handling the "Variable" event.
-
- If an error occurs while evaluating an expression, the
- "Error" property is set to one of the codes listed below.
- *Always* check the "Error" property after using "Val".
- 6 - Syntax
- 7 - Bad Token
- 8 - Unbalanced Brackets
- 9 - Division by Zero
- 10 - Not Reentrant (see *Obs. above)
-
- ----------------------------
- 3.0d Nov 1993
- ----------------------------
-
- VSVBX LOOKS HARDER FOR LICENSE AND HELP FILES
-
- Previous versions looked for the license file in the directory where
- the VBX was loaded from, and showed the about box if the license
- file was not found or if the license file was invalid.
-
- The new version still looks for license and help files in the
- directory where the VBX was loaded from. If it doesn't find the
- files there, it looks in the Windows\System directory and then in
- the Windows diretory.
-
- If it can't find the license file anywhere, it shows the about box.
- If it finds an invalid license file (e.g., older version), it
- informs the user.
-
- NICER-LOOKING MOUSE POINTERS FOR SPLITTER BARS
-
- We finally gave in and made custom mouse pointers for resizing
- windows with splitter bars. The new pointers look like the ones
- in the Windows file manager.
-
- INDEXTAB ALIGN PROPERTY BUG FIXED
-
- When the IndexTab's Align property was set to anything other than
- "0 - None", VB sometimes complained of errors while loading the form,
- and created a log file saying that the Width property could not be set.
-
- We have never seen this documented anywhere, but apparently the
- standard Align property must be declared AFTER the standard Left and
- Width properties. Note that this has to do with the way the VBX
- itself is written, not with VB programs.
-
- We moved the Align property to the proper position (after Left and Width)
- and the problem disappeared. Unfortunately, this may cause problems
- when loading projects created with previous versions of VSVBX that
-
- 1 - Had IndexTab controls with the Align property set to Align Top or
- Align Bottom AND
- 2 - Were saved in binary format or compiled as EXEs.
-
- The solution to this is as follows:
-
- 1 - Load the old project with the old VBX (3.0c or older).
- 2 - Save the project in text format.
- 3 - Quit VB.
- 4 - Load the new VBX (3.0d or newer).
- 5 - Restart VB and reload the project.
- 6 - Save or compile as you wish.
-
- We realize this may cause problems to some of our users and wish we
- could have fixed this problem without affecting older projects,
- but it really was not possible.
-
- PROPORTIONAL SPACING BUG IN THE ELASTIC
-
- ** Fixed in 3.0d:
- Set the Elastic's AutoSizeChildren property to '7 - Proportional', then
- to '0 - None'. Move the child controls around the Elastic. Set
- AutoSizeChildren back to Proportional. The controls return to their
- original position. This has been fixed in 3.0d.
-
- ----------------------------
- 3.0c Oct 1993
- ----------------------------
-
- NEW SETTING FOR INDEXTAB POSITION
-
- Due to popular demand, we added the Right Face In tab position.
- This is the same as the original Right position but with text
- facing into the form instead of out.
-
- INDEXTAB DID NOT FIRE THE CLICK EVENT
-
- ** Fixed in 3.0c:
- The IndexTab did not fire the Click event if you set the CurrTab
- property to the same value it already had.
-
- ELASTIC RESIZING WHEN BORDERWIDTH AND CHILDSPACING = 0
-
- ** Fixed in 3.0c:
- Sometimes the Elastic failed to resize itself when the BorderWidth
- and ChildSpacing properties were set to zero.
-
- ----------------------------
- 3.0b Oct 1993
- ----------------------------
-
- ELASTIC RESIZING IN MDI FORMS
-
- ** Fixed in 3.0b:
- The Elastic did not get along with MDI forms. Now it does.
-
- BETTER LOOKING 3D FOR THE INDEXTAB
-
- The new 3D appearance follows Microsoft's new standard style
- for IndexTabs.
-
- ----------------------------
- 3.0a Oct 1993
- ----------------------------
-
- INDEXTAB REPAINTING WAS OVER-OPTIMIZED
-
- ** Fixed in 3.0a:
- The IndexTab sometimes skipped a few steps when repainting the
- screen. This was done to improve speed, but it worked only 99%
- of the time, and sometimes left parts of the window blank.
-
- UNLOADING FORMS DURING INDEXTAB CLICK EVENT
-
- ** Fixed in 3.0a:
- Unloading a form during an IndexTab Click event procedure sometimes
- caused a GPF.
-
- ==========================
- VERSION 3.0 Sep 1993
- ==========================
-
- GENERAL IMPROVEMENTS
-
- Faster loading forms, smaller VBX, new manual, 20+ new features.
-
- INDEXTAB IMPROVEMENTS
-
- ** New Properties and Settings:
- BackSheets, TabCaption, TabsPerPage, TabOutLineColor,
- Chamfered Style
-
- ** Other improvements:
- Enhanced 3D look, smoother tab scrolling, faster flicker-free redraws,
- set tab order based on position rather than ZOrder, automatic TrueType
- font conversion for side tabs.
-
- ELASTIC IMPROVEMENTS
-
- ** New Properties and Settings:
- AccessKey, BevelChildren, MaxChildSize, MinChildSize, WordWrap.
- AutoSizeChildren has three new settings: 'Elastics Horizontally',
- 'Elastics Vertically', and 'Proportional'.
-
- AWK IMPROVEMENTS
-
- ** New Properties and Settings:
- Match Quotes, PosAt, FileMode.
- The FS property has improved features, and the maximum line length
- was increased from 255 bytes to 64k.
-
-
- -------------------
- 2.2c Jul 1993
- -------------------
-
- MISSING PROPERTIES ADDED TO ELASTIC AND INDEXTAB
-
- The properties are Hwnd and ContextID. We also added a ShowFocusRect
- property to the IndexTab.
-
- UNEVEN SPACING SCRAMBLING CHILDREN
-
- ** Fixed in 2.2c:
- Shrinking and growing an Elastic with AutoSizeChildren set to Uneven
- sometimes changed to order of the child controls.
-
-
- -------------------
- 2.2a Jul 1993
- -------------------
-
- ELASTIC HANDLING GRAPHICAL CONTROLS
-
- Reduced flicker and improved speed when stretching graphical
- controls (Image, Shape, and Label controls).
-
- MULTIPLE ACCESS KEYS IN TABS
-
- Each tab can have its own access (alt, &) key.
-
- ==========================
- VERSION 2.2 May 1993
- ==========================
-
-