Blanch 1.9 Copyright (c) 1997, 1998 One Guy Coding

Changes
=======
Ver 1.9b : July 27/98
 - Fixed autohide issues with Win98.  Blanch was using the
   SetForegroundWindow() function to notify itself that it was
   to be put in the foreground but Microsoft changed the behaviour of
   this function in Win98.  Blanch now uses a different method
   for autohide.
 - Fixed autohide problems introduced in Win95 and NT4 while trying
   to fix the autohide problems for Win98.
 - added lock size parameter to prevent Blanch from sizing (either 
   automagically or manually)
 - added 'Run ...' dialog to Blanch context menu.  You can also open
   this dialog by double clicking any blank part of a blanch page
   (that is, not on a button).
 - If blanch started up with buttons that existed beyond the screen
   limits, some strange things would happen.  These buttons are now
   put on a 'Blanch Trash' page.

Ver 1.9 : Jun 30/98
 - Added Exit Prompt option in Properties/Options
 - Fixed Calendar in the Cron settings dialog (months and years
   were not advancing properly).
 - Autohide works under Win95 and NT4.  Under Win98 it works although
   occasionally will not hide.  I'm working on it.
 - Rewrote code responsible for creating and displaying context menus
   
Ver 1.8c : Jun 25/98
 - refixed the problems introduced in 1.8a and 1.8b.  The autohide
   problem is still broken in Win98.  #@%$^*!* Microsoft.  My apologies
   for the delay in fixing this.
   
Ver 1.8b : May 30/98
 - Show Caption, among other options were horribly broken by the "fixes" that
   I implemented yesterday.  Except for some annoying repainting issues this
   is largely fixed.  Sorry to those affected.

Ver 1.8a : May 29/98
 - A button for Blanch was appearing in the taskbar when none should have been.
   This has been fixed.
 - Blanch doesn't autohide when the Properties dialog is displayed.
 - Can drop multiple files on blanch when autohiding.  The buttons will be
   created on the current page.  Caveat: if you select 30,000 files blanch will
   attempt to create a whole bunch of buttons (sarcasm intended)
 - Tooltips are now created using the Windows Tooltip Class rather than my
   old homemade Tooltip class.  This means that tooltips look more standard
   than in previous versions.
 - The Blanch autoHide Delay was not working properly.  The timeout value is
   reset each time the mouse is moved on top of blanch, so that a timeout of
   500ms will always be 500ms and not some fraction of 500ms.
 - Autohide is not working properly under Win98.  This appears to be a problem
   with Win98 beta 3 or at least a different sequence of messages.  The 
   WM_ACTIVATE message has always been a little different than its description.

Ver 1.8 : Apr 02/98
 - Pages could become corrupted on startup.  This was caused by the background
   load of pages.  It was possible that a page could be loaded more than once.
   This multiple load could then be compounded so that multiples of each button
   on the page were created.  Not a good thing.  This has been tweaked to avoid
   this situation.  Pages are still loaded in the background but more cautiously.
   To control the time between successive page loads on startup you can fiddle
   with the registry variable "loadDelay" under,

   HKCU\Software\One Guy Coding\Blanch\Global

   This is a DWORD value and defaults to 2000 milliseconds.  This means that
   pages are loaded at startup one after the other at 2 second intervals, by
   default.  If you have 10 pages it would take about 20 seconds to load in
   all the buttons, but you will be able to use the blanch pages that have 
   already loaded.  I will experiment with other values but have opted for the
   more conservative value of 2s.  Play with this value if you wish.  The basic
   rule of thumb is 'the higher this value the more responsive blanch will be
   on startup.'
 - Certain file associations would not load properly.  This only happened if the
   associated file did not have a verb of type "open".  Blanch now lets the 
   system decide on the type of Verb to use for associated files.
 - Explore now explores the file in which a file resides if it is a document
   rather than the directory in which its associated executable lives.
 - The 'Action' flyout on the button menu contains the available 'verbs'
   for launching an associated document.  For example, if you dropped a WAV
   file on blanch the Actions would be 'open' and 'play', the former opens the
   file and the later plays the sound.  Of course your setup could display WAV
   files differently depending on the software that you have loaded.
 - The default verb for executables is always "open"
 - The Explore menu item on the button context menu has been moved to the top
   of the Action flyout menu.  Similarly, the Startup Shortcut item has been
   moved to the bottom of this menu.
 - The hotkey tab was replaced with a shiny new version
 - Help file updates will be coming soon

Ver 1.7 : Mar 11/98
 - included setup program
 - Blanch now listens to Vern 2.0a and above.  If you have a Vern cell with the
   same label as a Blanch page, Blanch will switch to that page when Vern 
   enters said named cell.
 - fixed nag screen problem (it's supposed to come up only 1 in 10 runs but it 
   was appearing almost every time.)
 - Buttons menu now has a flyout menu listing available dialup sessions.  Select
   one of the sessions from the flyout and blanch will create a button for that
   session.  This is available only in Win95.  I've not figured out how to 
   create a similar list in WinNT.

Ver 1.6c : Mar 03/98
 - Fixed problem with the Startup page icons overwriting the current page (only
   occurred if the Process Startup option was being used.)
 - Fixed problem with new key refresh (F5) not selecting the proper icon after
   a remote or removable disk were reattached.

Ver 1.6b : Feb 25/98
 - If the Hide delay value was set to other than 0, and one had opened a context
   menu for one of the buttons, Blanch would hide according to the delay value
   that was set and the context menu would disappear.  Fixed!

Ver 1.6a : Feb 23/98
 - New Autohide behaviour.  The "More ..." tab of the Properties dialog now 
   has a "Show delay" option and a "Hide delay" option.  These values are in
   milliseconds.  Show delay is the delay before blanch activates on a mouse-over.
   Hide delay is the time before blanch autohides - if this value is 0 the 
   behaviour defaults to the behaviour in prior versions.
 - Changed page activation from F1, F2, F3, ... to 1, 2, 3.  I decided that the
   function keys are better served for other purposes.  You can also activate
   pages with Ctrl-1, Ctrl-2, etc.
 - Fixed a problem with resizing blanch after the size of the buttons had been
   changed from large to small.
 - You can now change the size of the small blanch buttons in the registry.  The
   values are cxSmall and cySmall (representing the width and height of the buttons).
 - On Startup, if blanch finds a file in the Startup folder, it always replaces
   it with a link to the current file.  So if you change the path to blanch the
   Startup shortcut will reflect the change.
 - F5 can be used to refresh a page.  All icons will be reloaded and the page
   redrawn.  This is necessary to refresh any Blanch refering to files on
   removable media.

Ver 1.6 : Feb 21/98
 - Fixed cron.  There was a bug in the cron code that would cause unpredictable
   results if more than one program were scheduled to be loaded at any given time.
   Cron is working much better now!
 - Added a cronlog option in the Cron settings dialog.  This option is global
   so all logging will go to that file.  There's no browse button provided but
   it's pretty easy to type in a full path like c:\temp\cronlog.txt
 - The nag screen will now appear only 1 in 10 times, on average.
 - The Tooltips have more information if you hold down the control key while
   mousing over top of a button.  The Exe and Options, as well as a flag for
   cron settings, are now displayed as well as the Description.
 - If blanch is auto hiding (ie., docked) it will not be activated if the
   left mouse button is depressed.  This helps prevent accidental activation 
   if scrolling, or dragging in the vicinity of Blanch.
 - All pages are now loaded at startup.  Note that the loads are delayed between
   subsequent pages, so it doesn't seem to be too intense when starting blanch.
   The delay is hard coded as 500 ms between page loads, if you would like this
   variable to be stored in the registry please let me know.  This also solves
   the problem that if crons were located on an unloaded page then they wouldn't
   be loaded as expected until the page were manually loaded.  Note also that page
   switches are instantaneous the first time now.  This is really a very nice 
   change, IMHO.

Ver 1.5a : Feb 9/98
 - first time setups now get an Accessories and System Tools page created
    as well as the first few blanches (Explorer, Control Panel, Printers
    and Dialup Networking)
 - added a Quick Scan option (to Page menu) that allows one to easily scan
   new Program Folders in the start menu.  This is a quick way to recreate
   a lot of functionality if you've neglected to export the registry before
   reinstalling Windows, etc.  This option is accessible via the Ctrl-Q 
   keyboard accelerator.
 - the previous two features were added since I have to reinstall Win95 about
   50 times per year (based on the number of machines that I administer to)
   and these options make it easy to recreate the vast majority of blanches
   with very little effort.
 - changed the lock button so that the thumb tack is "stuck in" when blanch 
   is locked and "unstuck" when not locked.
 - decreased the startup "Nag" screen from once every four runs to once every 
   8 runs -- on average.  That is, if you are running blanch unregistered you
   should only see the Nag screen once per week assuming you start Windows
   once per day.  Your mileage may vary.
 - the *small* icons look better now.  If a small icon is available it is used
   as is (rather than scaling down the large size icon as I was doing in previous
   versions.)
 - fixed a couple of minor bugs associated with switching from large to small
   icons, and vice versa.
   
Ver 1.5 : Feb 5/98
 - fixed a problem for new installations.  Code that was inserted to control
   blanch positionning after resolution changes broke the positionning code for
   new setups, that is, the first time that blanch was run it was not being
   properly positionned on screen.

Ver 1.5 : Feb 3/98
 - added keyboard control interface
      CURSOR LEFT/RIGHT - move horizontally left/right
      CURSOR UP/DOWN    - move vertically up/down
      TAB/SHIFT TAB     - Next/Prev page
      ENTER             - launch currently selected button
      SPACE             - open current button properties dialog
      DEL               - cut the current button to the blanch clipboard
      INS               - paste the blanch clipboard to the current page
 - added a button menu entry to allow one to easily add a button to the
   Windows Startup folder
 - added a menu entry to the button menu to access the main Blanch menu
 - added a cron entry on the button menu
 - added a funky new bitmap to the about dialog and nag dialog
 - fixed problem with Startup checkmark in Main blanch menu
 - fixed a problem with the Export Registry menu entry involving long filenames
 - fixed a problem with autohiding after resolution changes
 - todo: update help file to reflect these changes

Ver 1.4g : Jan 23/98
 - duplicated "Programs ..." entry to main context menu so that the
   "Start Menu/Programs" folder is more accessible
 - added a "Startup shortcut" item to the main context menu so that
   a Blanch shortcut can easily be added/removed from the Start menu
   Startup folder
 - fixed a problem with the display of the font size on the "More" tab
   of the properties dialog box
 - updated the One Guy Coding snail mail address in the help file
 - updated the help file
 - the Nag dialog is back, I've made the concession that it is only 
   displayed once every four times, on average

Ver 1.4f : Oct 24/97
 - Page Tab bar can be optionally hidden
 - added several keyboard accelerators
     Ctrl+O - Toggle horizontal/vertical display
     Ctrl+T - Toggle Page Tab option
     Ctrl+C - Toggle Caption option
     Ctrl+L - Toggle Lock position option

 - if the Ctrl key is down while displaying a tool tip the path
   to the executable is also displayed

Ver 1.4e : Jun 22/97
 - Ctrl+B to add a new button opens explorer in the Programs menu

Ver 1.4d : Jun 8/ 97
 - added "My Computer" entry to preset buttons menu
 - various little fixes and adjustments

Ver 1.4c : Apr 22/97
 - fixed problem with renaming or deleting pages that had
   no buttons
 - You can now specify whether you would like blanch to Prompt,
   Replace, Load File or Create New when dropping a file on
   another Blanch button.  Holding down the Ctrl key will
   override the default setting and open the Prompt dialog.

Ver 1.4b : Apr 10/97
 - fixed recursive delete of Registry keys problem in 
   Windows NT 4 that prevented the renaming or deleting
   of Blanch pages.

Ver 1.4a : Apr 03/97
 - Added Help file and incorporated context sensitive
   help in the Blanch Properties and Blanch Button
   Properties dialog boxes.
 - refixed the focus problem that was fixed last release.
   Button clicks now work first time when activating but
   Blanch won't activate on a mouse over.
 - fixed extra menu item problem in the Pages menu.

Ver 1.4  : Mar 27/97
 - Blanch would get focus if inactive, fixed
 - Clock was taking up space even if not used, fixed
 - Showing the caption could leave blanch 'On Top' in
   some instances, even if it wasn't meant to be, fixed
 - Added "Lock position" option to prevent accidental movement
 - Added "Freeze settings" accelerator to prevent settings
   from changing.  This is especially useful for system
   administrators or in environments where NEWBIE's might
   be found.  After setting up blanch to your specifications
   you can prevent changes from being saved by hitting the key
   combination Alt+Ctrl+Shift+Z
 - Blanch now saves to the registry only values that have
   actually been saved.  This change decreased the size
   of my settings from 30K to about 20K (7 pages containing
   about 90 buttons total, thus on average the reduction in
   storage is about 10K/90 = 113 bytes per blanch in this
   instance)

Ver 1.3j : Mar 24/97
 - I fixed bug that would cause an unregistered versions
   of blanch to crash when exiting blanch.
 - fixed background paint problem when 'Flat Style' not used

Ver 1.3i : Mar 23/97
 - fixed registration problem
 - added 'Resolve links' option to Blanch properties\Options.
   With resolve links selected links are resolved to the
   actual file being pointed to.  This can be toggled while
   working by holding down the Ctrl key while dropping a
   file onto blanch.
 - Added 'Process StartUp page' to Blanch properties\Options.
   If this option is selected blanch will look for a page
   called StartUp (or whatever your windows StartUp folder
   is called) and launch all the buttons on that page when
   Blanch is launched.  You should use resolved links to the
   StartUp buttons for quicker launches.  Once you've created
   all your StartUp buttons, remove the programs from the Win
   StartUp folder (I've created a subdirectory in the StartUp folder 
   and moved all the current startup links except Blanch into that 
   folder to prevent them from running).  Startups are *much*
   faster with blanch, even I'm amazed at the speedup.
 - The startup page name is case sensitive.  Make sure it's
   the same as the Windows Folder name (pour example, je pense
   que le nom est 'Commencer' en Francais, mais je ne suis pas 
   absolument certain)
 - Hold down Ctrl to prevent the StartUp action when starting.

Ver 1.3h : Mar 18/97
 - fixed problems with Delete and Rename Page on the page
   tab of the properties dialog box.

Ver 1.3g : Mar 08/97
 - Register online via the Register tab of the Properties 
   dialog box.  You must be connected to the net and have
   a WWW browser installed on your computer to use this option.
 - see Notes section of readme.txt for a description of how 
   to add a dialup networking connection button, I will 
   automate this in the near future.
 - Tabs are now proportional in width, rather than constant.
 - added "More ..." tab to the Properties dialog box
 - can set flyout font in More tab (try 11pt Arial Narrow)
 - can now set sounds for 15, 30 and 60 minutes on the hour
 - can toll sound events on the hour (eg. 5 times at 5 o'clock)
 - can show/hide the clock
 - fixed a problem with the 'Lock' button (if closing blanch
   while locked the auto hide and on top settings were
   not properly saved)

Ver 1.3f : Mar 06/97
 - if while dragging a blanch button one dropped it on another
   blanch it would be cut to the clipboard.  Now it is just
   returned to its initial position
 - a couple more niggling little changes which affect only
   aesthetics

Ver 1.3e : Mar 05/97
 - code responsible for dealing with dropped files on blanch has
   be shored up.
 - added a 'Drop File' dialog box which is shown when a file
   is dropped on a Blanch button.  This dialog offers one of
   four choices,

   Replace Blanch     - dropped file replaces the current Blanch
   Load dropped files - current blanch exe is responsible for
                        loading the blanch with the dropped files
   Create new blanch  - puts a new blanch on the current page
   Cancel             - ignore the dropped file

 - added the 'forget' option.  When files are loaded a blanch
   button can forget the file names (default) or remember them 
   (they are placed in the Options edit control of the button
   properties dialog box).
 - cleaned up flyouts 
 - Hold down Ctrl to toggle the use of flyouts

Ver 1.3d : Mar 04/97
 - 'Explore blanch button' now selects the appropriate program
 - Save registry option added.  You can save your current blanch
    setup to a file.

Ver 1.3c : Mar 03/97
 - added scheduling to button properties (see *Cron Options* in
   readme.txt) enabling timed launches for any of the Blanch
   buttons
 - added AutoHide delay in Blanch Options tab of main properties
   dialog box
 - added Save to registry to Options menu
 - added Flat Style to Options menu (affect the appearance of 
   Blanch)
 - fixed flyout problem when blanch is auto hiding at the bottom
   of the screen

Ver 1.3a : Feb 26/97
 - added digital clock

Ver 1.3  : Feb 25/97
 - more aesthetic changes

Ver 1.2g : Feb 20/97
 - Added "Save to registry" in options menu.  Settings are
   not saved until you exit blanch or select this menu entry
   or hit Ctrl-S
 - Added Register Dialog Tab and License dialog Tab
 - various other little fixes

Ver 1.2g : Feb 14/97
 - changed button tabs (Thanks to Eric H)

Ver 1.2f : Feb 09/97
 - mouse snaps between button tabs (you can turn this off in 
    options menu)
 - moved Options menu
 - if buttons are outside of the current size of blanch she
   will expand to show all buttons
 - if a button somehow ends up beyond the maximum extents of
   blanch they will be moved to a new page called "Blanch trash"
 - can now change the order of the blanch pages in the Page
   Tab of the properties dialog box.
 - when dropping files on blanch, new buttons are added to the first
    available location or blanch is expanded to show the new button
 - scan page is much safer with the above mentioned expansion 
    mechanism
 - pages are now saved only when exiting or from the Options tab
   of the properties dialog (Save to registry)
 - various other minor bug fixes here and there

Ver 1.2e : Feb 06/97
 - removed nag dialog
 - enabled 'Scan Page' dialog (be careful with this, since
   buttons are not really being added to blanch pages safely
   yet)

