Icon Mover 2.3
12/20/95

Integrated Graphics
312 Nevada St.
Northfield, MN 55057-2345

E-mail: hansonr@stolaf.edu

INTRODUCTION
------------

Icon Mover 2.3, ICONMOVR.EXE, enables a user to transfer standard Windows3.1 
icon and icon-related device-independent bitmaps (32x32, 16-color) from one 
application or group of applications to another. Transfer of icon bitmaps 
between any two ICO, BMP, DLL, EXE, FRX, VBX, etc... files is supported. 
Icon Mover finds all bitmaps any file or directory of files, displaying up 
to 1000 at a time, and can read icons from most GRP files. All icons stored 
in files are located, even including those not known to Windows. All such 
bitmaps are displayed graphically and moved by clicking and dragging of 
the mouse. Alternatively, icons can be extracted into ICO, BMP, DLL, or DLX 
(expandable DLL) files directly by right-clicking on them. A 10-icon cache 
is preserved between sessions.  
  In addition, icons can be extracted from BMP files of any size
or format by simply "driving" an icon "window" around the bitmap,
selecting the portion of the bitmap desired as an icon. Bitmaps may be
scaled up or down by a factor up to 16 prior to icon extraction.
Icons produced from bitmaps may be opaque or transparent, as desired.
  Icon Mover 2.3 introduces a completely new method of working with icons 
in terms of DLL libraries. The "expandable DLL" files (default extension 
"DLX") created by Icon Mover expand to fit up to 2544 icons with less than 
10% overhead. DLX files are fully readable by Program Manager and Windows 
API functions such as ExtractIcon. Alternatively, icons can be stored in 
libraries created simply with a DOS command such as COPY *.ICO MYLIB.ICO.
  Alhough Icon Mover is not an icon editor, Version 2.3 introduces an
interface which allows editing of icons and bitmaps via an external icon
editor. A sample icon editor is included as ICONEDIT.EXE.

CHANGES SINCE ICON MOVER 2.2
----------------------------
New setup.exe only

CHANGES SINCE ICON MOVER 1.3
----------------------------
1. Multiple selects allowed so that several icon-bearing
   files can be inspected and extracted from at once. (REGISTERED
   VERSION ONLY)

2. Expandable DLL files for icon storage allow addition of icons
   at any time to a pre-existing icon library.

3. BMP file reading/writing supported, including scanning of bitmaps
   prior to scaling and extracting a portion of the bitmap for use
   as the icon.

4. 10-Icon cache can be loaded and copied from within Icon Mover.

5. Icons may be edited via an interface to an external icon editor.


INSTALLATION
------------
IcnMvr23.zip can be unzipped using PKUNZIP, PKUNZJR, or WINZIP. 
If you do not have one of these programs, you can probably find
one on the site from which you got IcnMvr23.zip. In addition, 
you will need VBRUN300.DLL, as this program was produced using
Microsoft Visual Basic 3.0 for Windows.

1. Create a new temporary directory or choose one already on 
   your hard disk.

2. Move IcnMvr23.zip to this directory and unzip it there.

3. From the Windows file manager Run...   thatdirectory\setup

   You will be asked to enter a directory into which to install 
   Icon Mover (default is C:\iconmovr). Installation should 
   complete in a few seconds. Installation will not change files  
   in your WINDOWS or WINDOWS\SYSTEM directory. However, if installation 
   or running of ICONMOVR indicates a file is missing or out of date,
   transfer the file from C:\iconmovr to C:\windows\system and try 
   again.

4. Files in the temporary directory may be deleted. If you find   
   that APIGUIDE.DLL, GRID.VBX, or CMDIALOG.VBX are duplicates in your 
   WINDOWS\SYSTEM directory, you may delete them from C:\ICONMOVR

RUNNING THE PROGRAM
-------------------

First designate a source file, either by clicking on "source:"
or by using the pull-down menu. Using CTRL or SHIFT with the mouse
you can designate more than one file, perhaps even the whole directory.
Similarly indicate the destination file.
  To load the cache, simply double-click on either a source or 
destination icon. Once the cache is full, the currently highlighted 
cache icon will be replaced. (Clicking on a cached icon highlights it.)
  To install a cached icon in the destination file, drag a cached 
icon to the destination icon you wish to replace. The original 
destination icon will be swapped into the cache as long as the 
"Swap icon on install" checkbox is checked. If this box is not 
checked, then the old destination icon will be discarded.
  Alternatively, you can right-click on any icon to extract it to 
an ICO, BMP, DLL, or DLX file directly. Highlighting a block of icons 
enables direct transfer from source to destination, or from source or 
destination to an expandable DLL library. Additional icons may be added 
to these files at any time. Though given the designation DLX, these files 
are true DLL files in all respects. 
  Icon Mover finds all valid icons in these files based on a bitmap 
"header" of 12 bytes for *.GRP files and 20 bytes for other files. 
Thus, there is a very small chance that Icon Mover can CONCEIVABLY be 
fooled into thinking that an icon exists when it really doesn't. 
Use your own judgement: 

     If it doesn't look like an icon, including just plain blank,

			DON'T REPLACE IT!!!


EXAMPLES OF USE OF ICON MOVER
-----------------------------

Replacing a specific icon in a specific file

	   Open the source dialog and select the source file containing the 
	     icon you want
	   Double-Click on the icon to copy it into the icon cache
	   Open the destination dialog and select the destination file you want
	   Drag the icon from the cache to the icon in the destination file
	     you want to replace
	   Note that the icons are swapped--the old icon is now in the cache
	     swapping can be disabled by unchecking the 'swap icon' checkbox
	     in the lower right-hand corner of your screen.

Loading a whole directory of icons into an expandable DLL library

	   Open the source dialog and select all of the icons in a directory
	   (shift-left-drag down the menu of listed files).
	   From the File menu, select 'Select All Source Icons'.
	   Right-click on the block of highlighted icons and select 'append
	   to DLX library'. You will have the choices (a) whether to preserve
	   the current contents of the library or not and (b) whether to open
	   the library as the destination. The latter option is slower, but more
	   fun and often quite useful. 

Adding one or several icons to an existing expandable DLL library

	   Open the source dialog and select one or more files containing icons
	   (CTRL-left-click on the desired files).
	   From the File menu, select 'Select All Source Icons', or select a
	   block of icons as displayed, and right-click on the block.
	   Select 'append to DLX library' from the popup menu.

Note: In all of the above operations, the target DLL file need not be 
loaded as the destination when the transfer is made. Alternatively, you 
can open the library as the destination file. In that case, you can see
the library being built, but the action is a bit slower due to the need to 
redisplay the possibly quite large library.

Caching source icons for use later

	   Open the source dialog and select one or more files containing icons.
	   Double-left click on an icon to cache it. If desired, a specific 
	   cache icon can be replaced by first clicking on IT, then double-
	   clicking on a source icon. 

Caching destination icons for use later

	   Same as for source, except only one file may be opened at a time as a
	   destination. Double-left click on the destination icon to cache it. 

Replacing an icon in any file from the cache

	   Cache an icon as described above.
	   Open a destination file of any type.
	   Ensure that the 'Swap Icon on Install' checkbox is checked unless
	   you really want to permanently lose the icon to be replaced.
	   Drag a cached icon over the destination icon to be replaced.
	   Release the left button. The cached and destination icons will
	   switch location; the old icon can be replaced by simply repeating
	   the drag one more time.

Replacing an icon in an ICO or BMP file without using the cache

	   Open the source dialog and select one or more files containing icons.
	   Now right-click on a source icon and select 'save as ICO file' or
	   'save as BMP file', as you prefer, from the pop-up menu. 
	   Alternatively, you can open the ICO or BMP filename as the 
	   destination and select 'transfer to destination'. 

Note: The popup menu is available from source, cache, and destination.
	   
Note: It is recommended that you use the cache method, with the 'Swap icon 
on install' checkbox checked. Replacing icons in ICO and BMP files without 
caching does just that--imediately and permanently. As a built-in precaution,
You will not be allowed to do replace any EXE, DLL, or DLX file icons directly,
without using the cache. In addition, Icon Mover will not replace icons in
Program Manager GRP files.


Converting icons from any source to ICO format

	   Open the source dialog and select one or more files containing icons.
	   Right-click on an icon and select 'save to ICO file'. If the source
	   is a BMP file, then you will get a chance to scan the bitmap to
	   determine what portion of it to make into an icon. Also decide
	   whether you want the icon to be transparent or not (whether it has a
	   cut-out image or appears square-backed on your screen).

Converting icons from any source to BMP format

	   Open the source dialog and select one or more files containing icons.
	   Right-click on the icon and select 'save to BMP file'.
	   A dialog will prompt for a filename. 
	   The BMP format loses part of the icon called the AND mask, which is
	   used to make a "cutout" of the icon. Icon Mover allows you to retain
	   this AND mask by giving you the option to give the mask an unused
	   color from the color table. If you ever turn this bitmap back into an
	   icon, you can select that color as the color to make transparent. 

Creating icons from bitmaps

	   Open the source dialog and select one or more ".BMP" files. All of
	   the above operations will be accessible; upon extracting, a form will
	   appear which allows you to choose (a) what part of the bitmap to use
	   for the icon, (b) what scale to use, and (c) whether you want one of
	   the colors (usually a background color) to be transparent. Click on
	   OK to accept, CHECK to see what the icon will look like (especially
	   useful if scaling has been done), or CANCEL to cancel the extraction.

Rearranging icons in any single file (other than GRP files)

	   Open the file you wish to rearrange both as the source and as the
	   destination. Ensure that the 'Swap Icon on Install' checkbox is
	   checked. Transfer icons via the cache from source to destination.
	   Changes will automatically be reflected in both displays.

Editing icons and bitmaps

	   From either the cache or the destination you may use the
	   pop-up menu to edit an icon. Prior to the first time you
	   edit an icon, use 'Options Editor' to setup the command
	   line for the icon editor of your choice. If your editor has
	   the capability of starting editing from a command line 
	   argument such as "C:\vb\iconwrks myfile.ico" then you will
	   be able to do that from Icon Mover as well. If it can't, then
	   Icon Mover will at least put the temporary file name used 
	   for the editing session in the clipboard. You can use CTRL-V
	   or SHIFT-Insert to retrieve it into your editor. Icon Mover
	   will wait to continue until the editor is closed.

COMMAND LINE OPTIONS
--------------------

You can start up ICONMOVR indicating source and destination files right on
the command line. Use the Program Manager File Run... command. Something
like the following will work:

		   C:\ICONMOVR\ICONMOVR  source.dlx  destin.dlx

These files, of course, can be of any valid format or type. This only loads the
display; it doesn't actually do any icon moving. 

ICONMOVR.INI
------------

Icon Mover will establish an initialization file, ICONMOVR.INI, in
its home directory. It looks something like this:

[Files]
Source=C:\WIN\ACCESSOR.GRP
Destination=C:\VB\__MINE\ICONMOVR\ICONMVR1.FRX
Save=C:\VB\__MINE\ICONMOVR\T2B.ICO
Cache=C:\WINDOWS\ICONCACH.DLX
ICO-type=C:\VB\__MINE\ICONMOVR\T2B.ICO
BMP-type=C:\VB\__MINE\ICONMOVR\TESTING.BMP
DLX-type=C:\WINDOWS\GRPICONS.DLX

[Video]
ColorPlanes=4
Bits/Pixel=1

[DLLs]
ExpansionMinimum=5 icons

[Options]
Display=SHORT DISPLAY
DisplayMaximum=1000
ExpansionMaximum=2400
Editor=C:\VB\ICONWRKS %S

[Registration]
Name=Bob Hanson
SerialNumber=34348397

These items are fairly self-expanatory. You may wish to change the 
cache file designation; it must be an expandable DLL file.
IconMover also worked when ColorPlanes=8 and Bits/Pixel=1. This only
affects the operation of reading and caching *.GRP files. If you find
that your *.GRP files can't be read, send me your ICONMOVR.INI file 
by E-mail and I will try to enhance IconMover to work for your's, too. 

If you move ICONMOVR.EXE to a new home directory, be sure to move
ICONMOVR.INI with it.

SOFTWARE LIMITATIONS
--------------------
Limitations are to display only the first 1000 icons in source files
and only the first 1000 in destination files. Over 400 icons have been 
successfully loaded at once. The number of files allowed as a group of
source files depends upon the length of their filenames. Approximately
300-400 files at once should be no problem.


HARDWARE REQUIREMENTS
---------------------
Any computer capable of running Windows 3.1 should be adequate. 
Since Icon Mover does not use sophisticated Windows API calls which
involve device-dependent bitmaps, it is not screen- or graphics-board 
dependent in any known way. It has been tested on both 386 and 486 
machines having from 4 to 16 Mb of RAM with 16-256 colors and running 
Windows 3.1 or Windows For Workgroups 3.11. 

REGISTRATION
------------
Icon Mover is fully functional shareware. It is fully 
distributable only in the form of ICNMVR23.ZIP. To remove the 
startup registration screen, send US$20 or the equivalent to:

Integrated Graphics
312 Nevada St.
Northfield, MN 55057-2345
USA

Please provide your full E-mail address or regular mail 
address in your request. A valid serial number will be sent
by mail or E-mail. Add $5 for a 3.5" floppy containing the
latest version. A single-user license permits a licensed user to 
execute Icon Mover only on a single computer. Licensed users may 
use the program on different computers as long as there is no 
possibility of it being used at one location while it is being 
used at another, or on a network by more than one user at a time.

FEEDBACK
--------

Much of what you are using is the result of feedback from users of earlier
versions of Icon Mover. Your feedback is greatly appreciated. If there is 
ANYTHING that you don't like or anything that you would like to see, please
E-mail it to me. I can install a newer test version on the St. Olaf College 
ftp site, ftp.stolaf.edu/pub/origami/win,  ususally within a day or two. 

Have fun! 

Bob Hanson
Integrated Graphics
312 Nevada St.
Northfield, Minnesota  55057-2345
hansonr@stolaf.edu


