Many fresh MFC programmers wonder how to 'replace' the default icon rather than to change or
edit in the resourc editor. Here are two simple ways to do this (actually one method but two
- There is an ICON statement in the resource (.rc) file that causes the resource compiler
to include the icon in the program's resources. The default icons for MFC projects are placed
in ../res folder. To replace these icons we need to edit rc file and supply new icons for
the existing ones. Proceed as follows:
- Copy the new icon file in .../res folder. This step is not essential but its better
to put all the resources in one folder.
- Select File -> Open and File Open Dialog popups. Select the .rc file and change the
'open as' combo box to 'text' (which is 'auto' by default) in the File -> Open Dialog
box. Now Look for the
ICON statement in the .rc file, which should look like:
IDR_MAINFRAME ICON DISCARDABLE "res\\Project.ico"
IDR_DEVICETYPE ICON DISCARDABLE "res\\ProjectDoc.ico"
Next simply change the concerned file name with new one, e.g:
IDR_MAINFRAME ICON DISCARDABLE "res\\NewIcon.ico"
Now build the project and the new icon should show up.
- The second way is the short-cut version of the first. Instead of editing the .rc
file just rename the new icon to the same old icon name and copy onto it. However
if you build your project, the same old (default) icon will be shown though it does
not even exist on the disk now! This is because the resource compiler does
not detect any changes in rc file and hence it doesn't actually recompile the .rc
file (unless some change is introduced into it). As a result the program shows the
same old icon which was added to it in the last compilation. Hence to take the
effect, just recompile the rc file. It can simply be done by opening it as a text
file (as in method 1), click in the file and compile (Ctrl+F7).
Note: Its generally not recommended to manually edit .rc file, however there is no
harm with the above procedures and can be used without any fear.