home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / vb_code1 / 3ctrls / version.txt < prev    next >
Text File  |  1994-05-16  |  18KB  |  490 lines

  1. ==========================================================================
  2. VSVBX - VideoSoft Custom Control Library 
  3. ==========================================================================
  4.  
  5. Vendor Information
  6.         VideoSoft
  7.         2625 Alcatraz Avenue, Suite 271
  8.         Berkeley, California 94705
  9.         Phone (510) 547-7295
  10.         FAX   (510) 547-1084
  11.         Compuserve: 71552,3052
  12.         Internet:   71552,3052@compuserve.com
  13.  
  14. Distributor Information
  15.         Compuserve
  16.                 at the CIS prompt type "go swreg"
  17.                 VSVBX 4.0 product ID 1084 ($51)
  18.                 VSVBX upgrade from previuos versions ID 2215 ($21)
  19.  
  20. ==========================================================================
  21. Version History
  22.  
  23.       Digit changes indicate new versions.  New versions reflect major 
  24.       changes in functionality; they typically require upgrades and new
  25.       developer's license files (.DEV).
  26.       
  27.       Letter changes indicate maintenance releases with minor bug fixes or
  28.       subtle improvements.
  29.  
  30.       Recent versions are listed before older ones.
  31. ==========================================================================
  32.  
  33. ----------------------------
  34. 4.01 Apr 1994
  35. ----------------------------
  36.  
  37. NEW PROPERTY VERSION 
  38.  
  39.       You can now verify the version of VSVBX in your code.  
  40.  
  41. 3D EFFECTS EXTENDED TO 255 CONTROLS
  42.  
  43.       The maximum amount of controls to be affected by the elastic has
  44.       been extended from 30 to 255.
  45.  
  46. RESIZING BUG IN THE ELASTIC
  47.   
  48.       Under certain rare circumstances, the Elastic would get confused
  49.       when resizing children of a minimized form.  This has been fixed.
  50.       
  51. SYSTEM COLOR SUPPORT
  52.  
  53.       The Elastic and IndexTab did not support system colors directly,
  54.       the way other controls did.  Now they do.
  55.       
  56. LOW-FLICKER ELASTICS
  57.  
  58.       The Elastic is smarter about repainting and causes less flicker.
  59.       
  60. UPPER RIGHT CORNER IN 3D BORDERS
  61.  
  62.       The 3D borders all missed a pixel in the upper right corner.  Not
  63.       anymore.
  64.       
  65. CLASHES WITH CSFORM
  66.  
  67.       Using Crescent's CSForm control and the Elastic could cause GPFs.
  68.       The Elastic is more careful now and the problem has been reduced.
  69.       Note, though, that we have no control over what CSForm does.  If
  70.       you encounter problems, call Crescent and tell them about it.
  71.       
  72. ----------------------------
  73. 4.0 Jan 1994
  74. ----------------------------
  75.  
  76. NEW LOOK FOR THE INDEXTAB
  77.  
  78.       After a lot of discussion and many requests from our users, we 
  79.       decided to adopt a better "tab look".  With the new look, 
  80.       adjacent tabs no longer overlap, so we added optional "dog-ears" 
  81.       to allow for tab scrolling with the mouse.
  82.       
  83.       The new IndexTab also allows hot keys to be used with vertical
  84.       text (when the Position property is set to Left, Right, or Right
  85.       Face In).
  86.       
  87. MULTIROW PROPERTY FOR THE INDEXTAB
  88.  
  89.       This property allows you to create multi-row tabs like the ones in
  90.       Microsoft Word and Excel.  Set MultiRow to True and choose the
  91.       number of TabsPerPage you want to show.  As you type the Caption,
  92.       the IndexTab will wrap the tabs automatically.
  93.       
  94.       Note that MultiRow only works with TabsPerPage greater than zero.
  95.       When MultiRow is set to True, scrolling and BackSheets become
  96.       unnecessary and are automatically disabled.
  97.  
  98. DESIGN-TIME AUTO-SWITCHING FOR THE INDEXTAB
  99.       
  100.       The IndexTab now switches child containers at design time.  This
  101.       makes form design much easier.
  102.       
  103.       When AutoSwitch is True, double-click on any tab with the RIGHT
  104.       mouse button to bring up the appropriate child container, just
  105.       like at runtime.  Then you can easily lay out each container.
  106.       
  107.       To see all containers, double-click on the blank space next to 
  108.       the last tab or on the current tab itself.  All containers will appear
  109.       side-by-side, arranged according to their tab sequence.  To change the
  110.       tab sequnce, just drag the controls around.
  111.       
  112.       If you don't want to use this new feature, set AutoSwitch to False.
  113.       
  114. FRONTABFORECOLOR PROPERTY FOR THE INDEXTAB
  115.  
  116.       This new property lets you emphasize the current tab by using a different
  117.       color for its caption.
  118.  
  119. FOCUS TRACKING FOR THE INDEXTAB
  120.  
  121.       The IndexTab now tracks mouse movements.  When you push the mouse
  122.       button, it starts tracking the mouse.  As you drag, the current tab
  123.       follows the mouse, but you don't get a click event or container
  124.       switch until you release the mouse button.
  125.       
  126. NEW "STRAIGHT" STYLE FOR THE INDEXTAB
  127.  
  128.       In addition to the three original tab styles -- slanted, rounded, and
  129.       chamfered -- you can now use rectangular tabs that look like buttons.
  130.       Just like those in Windows 4.0.
  131.       
  132. MOUSEOVER PROPERTY FOR THE INDEXTAB
  133.  
  134.       You can find which tab you the are moving the mouse over by trapping
  135.       the MouseMove event and reading the MouseOver property.  This is useful
  136.       if you wish to display context-sensitive help for each tab.
  137.  
  138. BOLDCURRENT PROPERTY FOR THE INDEXTAB
  139.  
  140.       When this property is set to TRUE, the IndexTab shows the current
  141.       tab's caption using a bold font.
  142.  
  143. BORDER PROPERTY FOR THE INDEXTAB
  144.  
  145.       This property determines the width of the border around the containers
  146.       inside the IndexTab.  This border is in addition to the bevel automatically
  147.       provided when one of the 3D styles is used.
  148.  
  149. DOGEARS PROPERTY FOR THE INDEXTAB
  150.  
  151.       This property determines whether the IndexTab should display "dog-ears"
  152.       at the start and end of a tab row to indicate the user can scroll the
  153.       tabs.  If this property is set to TRUE, the dog-ears appear automatically
  154.       when the tabs spill off the page and you can use the mouse to scroll the
  155.       tabs.
  156.       
  157. TABPICTURE, TABCOLOR, TABENABLED PROPERTIES FOR THE INDEXTAB
  158.  
  159.       These new property arrays allow you to attach a picture (bitmap or icon)
  160.       to each tab, to control the color of individual tabs, and to enable
  161.       and disable specific tabs so they cannot be selected with the mouse
  162.       or keyboard.
  163.       
  164. STYLE PROPERTY FOR THE ELASTIC
  165.  
  166.       This new property makes the Elastic look similar to the standard
  167.       frame control, but retaining its resizing and 3D capabilities.
  168.       The "Style" property has three settings:
  169.       0 - Default:      this is the original Elastic Style.
  170.       1 - Frame Top:    this looks like the standard frame.
  171.       2 - Frame Bottom: this looks like the standard frame but with
  172.                         the caption below the Elastc instead of across 
  173.                         the top.
  174.       
  175. TAGPOSITION PROPERTY FOR THE ELASTIC
  176.       
  177.       This new property allows the TagLabels to be placed either to the
  178.       left or above each tagged control.  In previous  versions, the 
  179.       TagLabels always appeared to the left of the tagged controls. 
  180.       Label sizes are stil determined by the TagWidth property.
  181.       
  182. NEW SETTINGS FOR THE ELASTIC'S BEVELINNER AND BEVELOUTER PROPERTIES
  183.    
  184.       In addition to the Inset and Raised settings, the Elastic
  185.       now has "5 - Fillet", "6 - Groove", and "7 - Shadow" 3D effects.
  186.       Note: The Shadow effect is available for inner bevels only.
  187.  
  188. SHADOWCOLOR PROPERTY FOR THE ELASTIC
  189.  
  190.       The "ShadowColor" property allows you to define the color for
  191.       the shadow created when the "BevelInner" property is set to
  192.       "7 - Shadow".
  193.  
  194. TABCAPTION BUG IN THE INDEXTAB
  195.       
  196.       The index tab would not change the last tab caption properly
  197.       if the old last tab caption was an empty string.  This was fixed.
  198.  
  199. SPLITTER BARS CAN NOW BE USED WITH TAGLABELS
  200.  
  201.       The old Elastic did not allow Splitter bars to coexist with 
  202.       TagLabels. That limitation has been removed.      
  203.             
  204. QUOTE BUG IN THE AWK
  205.  
  206.       The Awk did not handle embedded quotes correctly.  Now it does:
  207.       Only quotes that appear in the beginning of a field are seen as
  208.       quotes.  Embedded quotes are seen as regular characters.
  209.       
  210. FILTERQUOTES PROPERTY FOR THE AWK
  211.   
  212.       The "FilterQuotes" property forces the Awk to remove leading and
  213.       trailing quotes from fields when "MatchQuotes" is set to True.
  214.       
  215.       For example,
  216.         VSAwk1 = "Name 'John McAdam' Age 23"
  217.         VSAwk1.MatchQuotes = True
  218.         VSAwk1.FilterQuotes = False
  219.         ? VSAwk1.F(2)
  220.           'John McAdam'
  221.         VSAwk1.FilterQuotes = True
  222.         ? VSAwk1.F(2)
  223.           John McAdam
  224.           
  225. VAL PROPERTY FOR THE AWK
  226.  
  227.       This new property gives the Awk a powerful function evaluator.
  228.       Set the Caption property to a mathematical expression and the
  229.       "Val" property returns its value.
  230.       
  231.       For example,
  232.         VSAwk1 = "(1+2)*3^2"
  233.         ? VSAwk1.Val
  234.           27
  235.       
  236.       The following operators are supported, according to their
  237.       priority:
  238.       
  239.       Prty Op  Description       Op  Description
  240.       ---- --  ---------------   --  ---------------
  241.        6:  ()  subexpressions
  242.        5:  ^   raise to power
  243.        4:  *   times             /   divide
  244.            %   modulus           \   divide and truncate
  245.        3:  +   plus              -   minus
  246.        2:  >   greater           >=  greater or equal
  247.            <   less              <=  less or equal
  248.            =   equal             <>  not equal
  249.        1:  &   and               |   or
  250.             
  251.       The following built-in functions are supported (they are
  252.       case-insensitive):
  253.       
  254.       abs, sin, cos, tan, atn, log, exp
  255.       
  256.       The Awk evaluator also supports variables.  When the expression
  257.       parser finds a token it cannot interpret, if fires the new Awk
  258.       event "Variable".  This event has three parameters:
  259.       
  260.       Variable - Name of the variable that needs to be evaluated
  261.       Value    - Value of the variable
  262.       Accept   - Flag that indicates the variable is valid
  263.       
  264.       Your event handler will typically read the variable name from
  265.       the "Variable" parameter, supply its value through the "Value"
  266.       parameter, and set the "Accept" flag to indicate the variable
  267.       is valid.  If the variable name is not valid, return without
  268.       setting the"accept" parameter and Awk will generate a "Bad Token"
  269.       error.
  270.       
  271.       For example, if your program defines variables "x" and "y", your
  272.       event handler might look like this:
  273.  
  274.       Sub VSAwk1_Variable (Variable$, Value!, Accept%)
  275.         Accept% = True
  276.         Select Case Variable$
  277.           Case "X", "x"
  278.             Value! = GlobalX!
  279.           Case "Y", "y"
  280.             Value! = GlobalY!
  281.           Case Else
  282.             Accept% = False ' unrecognized variable
  283.         End Select
  284.       End Sub
  285.       
  286.       *Note: To keep the code fast and compact, reentrant calls are not
  287.       allowed.  This means you may not use the "Val" property while 
  288.       handling the "Variable" event.
  289.       
  290.       If an error occurs while evaluating an expression, the
  291.       "Error" property is set to one of the codes listed below.
  292.       *Always* check the "Error" property after using "Val".
  293.        6 - Syntax               
  294.        7 - Bad Token            
  295.        8 - Unbalanced Brackets
  296.        9 - Division by Zero
  297.       10 - Argument domain error
  298.       11 - Argument singularity
  299.       12 - Overflow range error
  300.       13 - Partial loss of significance
  301.       14 - Total loss of significance
  302.       15 - The result is too small to be represented. (This condition is not currently supported.)
  303.       16 - Not Reentrant (see *Note above)
  304.  
  305. ----------------------------
  306. 3.0d Nov 1993
  307. ----------------------------
  308.  
  309. VSVBX LOOKS HARDER FOR LICENSE AND HELP FILES
  310.                 
  311.       Previous versions looked for the license file in the directory where
  312.       the VBX was loaded from, and showed the about box if the license
  313.       file was not found or if the license file was invalid.
  314.   
  315.       The new version still looks for license and help files in the
  316.       directory where the VBX was loaded from.  If it doesn't find the
  317.       files there, it looks in the Windows\System directory and then in
  318.       the Windows diretory.
  319.       
  320.       If it can't find the license file anywhere, it shows the about box.
  321.       If it finds an invalid license file (e.g., older version), it
  322.       informs the user.
  323.       
  324. NICER-LOOKING MOUSE POINTERS FOR SPLITTER BARS
  325.  
  326.       We finally gave in and made custom mouse pointers for resizing
  327.       windows with splitter bars.  The new pointers look like the ones
  328.       in the Windows file manager.
  329.  
  330. INDEXTAB ALIGN PROPERTY BUG FIXED
  331.       
  332.       When the IndexTab's Align property was set to anything other than 
  333.       "0 - None", VB sometimes complained of errors while loading the form,
  334.       and created a log file saying that the Width property could not be set.
  335.       
  336.       We have never seen this documented anywhere, but apparently the 
  337.       standard Align property must be declared AFTER the standard Left and
  338.       Width properties.  Note that this has to do with the way the VBX 
  339.       itself is written, not with VB programs.
  340.  
  341.       We moved the Align property to the proper position (after Left and Width)
  342.       and the problem disappeared.  Unfortunately, this may cause problems 
  343.       when loading projects created with previous versions of VSVBX that 
  344.       
  345.       1 - Had IndexTab controls with the Align property set to Align Top or
  346.           Align Bottom AND
  347.       2 - Were saved in binary format or compiled as EXEs.
  348.  
  349.       The solution to this is as follows:
  350.         
  351.       1 - Load the old project with the old VBX (3.0c or older).
  352.       2 - Save the project in text format.
  353.       3 - Quit VB.
  354.       4 - Load the new VBX (3.0d or newer).
  355.       5 - Restart VB and reload the project.
  356.       6 - Save or compile as you wish.
  357.       
  358.       We realize this may cause problems to some of our users and wish we
  359.       could have fixed this problem without affecting older projects,
  360.       but it really was not possible.
  361.       
  362. PROPORTIONAL SPACING BUG IN THE ELASTIC
  363.  
  364.       ** Fixed in 3.0d:
  365.       Set the Elastic's AutoSizeChildren property to '7 - Proportional', then
  366.       to '0 - None'.  Move the child controls around the Elastic.  Set
  367.       AutoSizeChildren back to Proportional.  The controls return to their
  368.       original position.  This has been fixed in 3.0d.
  369.  
  370. ----------------------------
  371. 3.0c Oct 1993
  372. ----------------------------
  373.  
  374. NEW SETTING FOR INDEXTAB POSITION
  375.  
  376.       Due to popular demand, we added the Right Face In tab position.
  377.       This is the same as the original Right position but with text
  378.       facing into the form instead of out.
  379.       
  380. INDEXTAB DID NOT FIRE THE CLICK EVENT
  381.  
  382.       ** Fixed in 3.0c:
  383.       The IndexTab did not fire the Click event if you set the CurrTab
  384.       property to the same value it already had.
  385.  
  386. ELASTIC RESIZING WHEN BORDERWIDTH AND CHILDSPACING = 0
  387.  
  388.       ** Fixed in 3.0c:
  389.       Sometimes the Elastic failed to resize itself when the BorderWidth
  390.       and ChildSpacing properties were set to zero.
  391.  
  392. ----------------------------
  393. 3.0b Oct 1993
  394. ----------------------------
  395.  
  396. ELASTIC RESIZING IN MDI FORMS
  397.  
  398.       ** Fixed in 3.0b:
  399.       The Elastic did not get along with MDI forms.  Now it does.
  400.         
  401. BETTER LOOKING 3D FOR THE INDEXTAB
  402.  
  403.       The new 3D appearance follows Microsoft's new standard style
  404.       for IndexTabs.
  405.         
  406. ----------------------------
  407. 3.0a Oct 1993
  408. ----------------------------
  409.  
  410. INDEXTAB REPAINTING WAS OVER-OPTIMIZED
  411.  
  412.       ** Fixed in 3.0a:
  413.       The IndexTab sometimes skipped a few steps when repainting the
  414.       screen.  This was done to improve speed, but it worked only 99%
  415.       of the time, and sometimes left parts of the window blank.
  416.   
  417. UNLOADING FORMS DURING INDEXTAB CLICK EVENT
  418.  
  419.       ** Fixed in 3.0a:
  420.       Unloading a form during an IndexTab Click event procedure sometimes
  421.       caused a GPF.
  422.  
  423. ==========================
  424. VERSION 3.0 Sep 1993
  425. ==========================
  426.  
  427. GENERAL IMPROVEMENTS
  428.       
  429.       Faster loading forms, smaller VBX, new manual, 20+ new features.
  430.  
  431. INDEXTAB IMPROVEMENTS
  432.  
  433.       ** New Properties and Settings:
  434.       BackSheets, TabCaption, TabsPerPage, TabOutLineColor,
  435.       Chamfered Style
  436.       
  437.       ** Other improvements:
  438.           Enhanced 3D look, smoother tab scrolling, faster flicker-free redraws,
  439.           set tab order based on position rather than ZOrder, automatic TrueType
  440.           font conversion for side tabs.
  441.  
  442. ELASTIC IMPROVEMENTS
  443.  
  444.       ** New Properties and Settings:
  445.       AccessKey, BevelChildren, MaxChildSize, MinChildSize, WordWrap.
  446.           AutoSizeChildren has three new settings: 'Elastics Horizontally',
  447.           'Elastics Vertically', and 'Proportional'.
  448.  
  449. AWK IMPROVEMENTS
  450.  
  451.       ** New Properties and Settings:
  452.       Match Quotes, PosAt, FileMode.
  453.       The FS property has improved features, and the maximum line length
  454.       was increased from 255 bytes to 64k.
  455.  
  456.  
  457. -------------------
  458. 2.2c Jul 1993
  459. -------------------
  460.  
  461. MISSING PROPERTIES ADDED TO ELASTIC AND INDEXTAB
  462.  
  463.       The properties are Hwnd and ContextID.  We also added a ShowFocusRect
  464.       property to the IndexTab.
  465.  
  466. UNEVEN SPACING SCRAMBLING CHILDREN
  467.  
  468.       ** Fixed in 2.2c:
  469.       Shrinking and growing an Elastic with AutoSizeChildren set to Uneven
  470.       sometimes changed to order of the child controls.
  471.         
  472.  
  473. -------------------
  474. 2.2a Jul 1993
  475. -------------------
  476.  
  477. ELASTIC HANDLING GRAPHICAL CONTROLS
  478.  
  479.       Reduced flicker and improved speed when stretching graphical
  480.       controls (Image, Shape, and Label controls).
  481.  
  482. MULTIPLE ACCESS KEYS IN TABS
  483.  
  484.       Each tab can have its own access (alt, &) key.
  485.  
  486. ==========================
  487. VERSION 2.2 May 1993
  488. ==========================
  489.       
  490.