NOTE: If you just want to start right away and read my speech later, skip to Section 1 and AT LEAST READ IT before starting PBIcon. PBIcon Version 1.0 6/19/90 PBIcon serves as an extension to the file format cabilities of Microsoft Windows Paintbrush to allow icons to be created or modified within Paintbrush. PBIcon will open and save files in a format suitable for use by Program Manager. The clipboard is used to transfer images between PBIcon and Paintbrush. This is a different approach than writing a complete Icon creator program. The following list summarizes some advantages and disadvantages that I currently recognize: ADVANTAGES: - Microsoft Windows Paintbrush is already an extremly powerful paint program which provides access to a rich choice of drawing tools and options. - You don't have to remember how to use two paint programs. - Using Paintbrush to supply the painting facilities will allow this program to concentrate on serving your Icon program desires (as you provide feedback), instead of duplicating effort on the drawing development. This is my understanding of part of Microsoft's current message to developers; integrating software should complement existing applications, not replicate them. DISADVANTAGES: - You lose the ability to use the drawing 'tools' when you Zoom In to make your editing image bigger-than-life size. Only pixel-by- pixel editing can be done in PaintBrush while in this mode. - You are required to perform a 32 pixel by 32 pixel clip. This is really an easy task once you've done it once or twice. A 32x32 pixel bitmap is included to assist you in making the perfect clip. IMPORTANT: Please Read! This is a test release of PBIcon for Windows. It is my 'prototype' test of both a design strategy and a market test for a shareware product (cheap, say $10, hopefully with many added features). I really am looking for feedback from you if you think this a good idea and would like to support a fully developed product. I will be looking at both your replies and the number of downloads versus other icon utilities to decide where to go from here. Thank you for your time and replies! ------------------------------------------------------------------------------ SECTION 1: Using PBIcon The following are two very quick exercises that teach you all you need about PBIcon. Number 1: First, start PBIcon. You will see a small window appear in the top left corner of your screen. Two menu selections are on the main menu. The File menu controls opening and closing icon files. The Edit menu allows copying and pasting to the clipboard to communicate with Paintbrush. Now start Paintbrush. Select 'Edit' and then select 'Paste From...'. There are two 32 by 32 pixel bitmaps included with Windows 3.0, boxes.bmp and pyramid.bmp. Double click on either one of these bitmaps to paste it into Paintbrush. While the new bitmap is still in the clipping rectangle, select 'Edit' once more and then select 'Copy'. This will copy the bitmap to the clipboard. Now switch over to the PBIcon window. Select 'Edit from the main menu and then select 'Paste'. This copies the bitmap from the clipboard and will display it in PBIcon's viewing frame. Now select 'File' and then 'Save' to activate the save dialog. For reasons that are explained later in this document, I have chosen to use a default extension of 'ICN' for icon files in Program Manager format. After saving your new icon, you can verify it is ready for use by highlighting any icon in one of your program groups and selecting 'Properties' from the Program Manager 'File' menu. Select 'Change Icon...' and then replace the file name in the existing edit box with your new icon's name, for example, 'PYRAMID.ICN'. Now select 'View Next' and you should see your new icon appear. You can select 'Cancel' to exit from the dialog boxes. If you select 'OK', Program Manager will replace the current icon with your new icon. Number 2: This exercise adds clipping a new or modified icon (the usual case) to allow copying it to the clipboard from Paintbrush. After making sure that the included 32x32.BMP file is in your Windows (or other Paintbrush directory), select 'Edit' and 'Paste From...' once more. This time choose the 32x32.bmp file to paste in. When it appears in PaintBrush, place the cursor in the center of the clip and drag it ti the center of your screen. The bitmap is actually 34 x 34 pixels. The dotted red line is the outline, the part you DON'T want to clip. The inner black line is the edge of your 32 x 32 pixel area. The area occupied by this black line lies within the area you do want to clip. AT this point you can either begin drawing a new icon within the assist template, or you can paste another bitmap using Paintbrush (you could load a *.ICN file into PBIcon, 'Copy' it from its 'Edit' menu, and then paste it into Paintbrush, also). If you paste in a bitmap for modification, simply drag it until you get it on top of the assist template with the red dotted line showing on all sides. In either case, you can now create or edit the icon. When complete, select the square scissors tool (upper right tool) to clip the icon for the clipboard. The Paintbrush clip has an idiosynchracy to it, at least on my VGA display. The left and top sides of the image you clip INCLUDE the pixels underneath them. The right and bottom clipping lines DO NOT include the pixels underneath them. Therefore, if you clip from top right to bottom left, start by placing the cursor crosshairs to right and bottom of the dotted red line (so that you can still see the true red dash). Now push the right mouse button and drag the cursor to the bottom left and position it so that the crosshairs are directly on top of the right and bottom red dashed lines. Release the mouse button. To check how clean your clip is, place the cursor over your clip and move it to one side. The red dashed line should remain and all of your icon should move. If this is not the case, select 'Undo' from the 'Edit' menu and you get another chance! This will become easier after you do it once or twice. Now select 'Edit' and then 'Copy' just as in exercise one. Switch to PBICon and select 'Paste' from the 'Edit' menu, and 'Save' etc... SECTION 2: Different File Formats The following information may be incomplete (and probably is) since I still have to wait for the Windows 3.0 Software Development Kit which should be released to the public any day now. Icons and bitmaps both have two types of formats (at least). Bitmaps have a 'file' format, as well as an internal format when you use a bitmap in a Windows program. The file format is what you call up in PaintBrush, and has a file extension of BMP. This file not only contains pixel information for the bitmap, but also a color 'palette'. The internal form of a bitmap (so far as the 2.0 SDK), does not contain a palette. Instead, the pixel infor- mation is divided into four color 'planes'. Different combinations of on/off bits in these four planes provides for sixteen unique colors. I noticed when I examined the clipboard after clipping a bitmap from PaintBrush that in addition to a BITMAP being available, there was another (yet unknown to me) type of info available. Perhaps this is a '3.0' style with extended color capabilities. If I decide to pursue PBIcon further, I will be certainly investigating color related information much more. Icons also have at least two formats from what I have found. The Windows SDK contains an Icon creating utility which creates an input file for the 'resource' compiler which comes with the SDK. I have an old copy of a neat program called EXEDMP which extracts resources from Windows programs. It successfully extracted all 98 icons from the ICON2.DLL (not sure if that name is correct) file uploaded here last week. This format, used for programming, has a little more header information than the icon file used by Program Manager (which I think is actually a compiler resource file). For this reason, until I learn otherwise, I have chosen to use the extension of 'ICN' for Program Manager files to avoid confusion with *.ICO files used in programming. I may be partially or completely wrong on this, but I'll soon learn when the SDK is released. Thank you for your time, interest, and feedback! Best regards, Len Gray