Icon Mover 3.0 1/18/96 Integrated Graphics 312 Nevada St. Northfield, MN 55057-2345 E-mail: hansonr@stolaf.edu INTRODUCTION ------------ Icon Mover, ICONMOVR.EXE, enables a user to transfer standard Windows 3.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 OR FROM THE SCREEN 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, and colors may be remapped or changed. Colors of icons can also be remapped prior to including in other files or libraries. Icon Mover 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, it does include an interface which allows editing of icons and bitmaps via an external icon editor. A very minimal sample icon editor is included as ICONEDIT.EXE. CHANGES IMPLEMENTED IN ICON MOVER 3.0 ------------------------------------- Capturing of icons directly from the screen! (registered version only) You can pause to open/close/move applications or windows. The bitmap extraction form was vastly improved, allowing full mapping of one color onto another. The bitmap extraction form was totally rearranged: icon is twice the original size; actual-size icon is also included; arrow keys are active for scanning around the bitmap; scaling scroll bar was repositioned and now works in a more intuitive manner. Bitmap extraction was sped up immensely using a new algorithm A bug was fixed that caused the first icon cache icon clicked to not show the correct drag picture. A bug was fixed that caused the default extension in file boxes to not be reset appropriately. A bug was fixed that caused problems with mapping new colors. A bug was fixed that caused the palettes for bitmaps to indicate one too many colors. CHANGES IMPLEMENTED IN ICON MOVER 2.5 ------------------------------------- The main screen was vastly improved, allowing "smart" resizing of the window with automatic resizing of the grids. Grids can now be as wide or deep as the screen allows. These settings are kept in the INI file for smooth program reentry. "Long" display now simply removes the destination info and gives that space to the source display. The cache is no longer hidden in the long display, making the long display more serviceable. The "show detail" form was reorganized and repositioned so that for larger screen sizes it does not get in the way of the destination icons. It will follow the main form when the main form is resized. For this reason, maximizing of the main form is not allowed. In addition, a new pop-up menu item, "remap icon colors" was added, and a new drop-down option, "reset form size to defaults" was added. The pop-up menu item "edit icon" was expanded to allow editing of icons from any of the three areas, source, destination, or cache. Non cache changed icons are then cached. This improves the philosophy that "YOU CANT DO ANYTHING TO A DESTINATION ICON EXCEPT FROM THE CACHE" A cosmetic bug was fixed that caused the "short display" option to always be checked. Screen flicker when dealing with mutiple input files was corrected (The file name label was overlapping the grid by 5 units!) A bug was fixed that resulted in the incorrect parsing of filenames when the directory path included a ".". A more disgusting bug was fixed which caused the icon cache to not be able to be deleted from within the program and might also cause the system to run out of file handles. (The file was being reopened without being closed first!). CHANGES IMPLEMENTED IN ICON MOVER 2.4 ------------------------------------- A bug was fixed which caused transfer from certain files to prevent DLX files from being further expanded and sometimes trashed one DLX icon. Yet another SETUP.EXE, this one going back to Visual Basic's, with a new, more informative front end. CHANGES IMPLEMENTED IN ICON MOVER 2.3 ------------------------------------- New setup.exe only CHANGES IMPLEMENTED IN ICON MOVER 2.2 ------------------------------------- 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 ------------ ICNMVR30.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 the ZIP file. In addition, you will need VBRUN300.DLL, as this program was produced using Microsoft Visual Basic 3.0 for Windows. Simtel requests that the file VBRUN300.DlL not be included in this ZIP file. You can get it via FTP at ftp.stolaf.edu in directory /pub/origami/WIN 1. Create a new temporary directory or choose one already on your hard disk. 2. Move ICNMVR30.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. 4. Files in the temporary directory may be deleted. Two text files, README.TXT and DLX.TXT may be of interest. RUNNING THE PROGRAM ------------------- The operation of ICONMOVR is pretty much self-explanatory. Point and click with the left mouse; right mouse for a quick pop-up menu. In ALL operations, the governing idea is that there really is only one way to replace icons ANYWHERE: by dragging from the cache to the destination. This simple operative principle should help guide you. Editing an icon in the source or destination simply sends it to the cache in its changed form. 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. Changing the colors or design of an icon Open the icon of interest as the DESTINATION. Click on it with the right mouse button and drag to either "remap icon/bitmap colors" or "edit icon" Choose a color to change, click on the new color, click on "Check" to see the results, and then on "Ok" If not from the cache, the resultant icon will show up in the cache. 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--immediately 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, (c) whether you want one of the colors (usually a background color) to be transparent, and (d) what colors you would like to change, if any. Note that final colors may be different from your choices depending upon your how windows converts your color choices into its palette. Click on CHECK to see what the icon will look like (especially useful if scaling or color remapping has been done), OK to accept, or CANCEL. Capturing icons from the screen (registered version only) Click on a cache icon to replace and use the right-mouse button to drag down the pop-up menu to "capture icon from screen" OR Click on "File... Capture Icon From Screen" and follow the instructions. Basically, all you do is run around the screen with the mouse and wherever you stop for more than 2 seconds, an icon is generated for your inspections. This will alll go on in the background if you wish to open other applications, move windows, or the like. 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 [Form] Top=125 Left=300 Height=7000 Width=8000 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. The limitations in terms of memory required has not been explored or reported. 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, Windows 95, or Windows For Workgroups 3.11. REGISTRATION ------------ Icon Mover is shareware. It is fully distributable only in the form of ICNMVR30.ZIP. To remove the startup registration screen, to allow varied names of DLX files, and full screen capture capability, 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