Login
`
Templates, Tools and Utilities
|
||
Icetips Article
Back to article list
Search Articles
Add Comment
Printer friendly
Direct link
Par2: Icons in multi-DLL apps 1999-03-24 -- Chris Rybitski It's quite simple, but it will require that you approach icon assignment in a slightly
different manner -- i.e., you really can't assign icons in the IDE (windows formatter)
using a resource .dll.
To start, you need to create the .dll. You will do this by using a "Project" (.prj) file.
Start off by creating a dummy program source file (.clw) of whatever name. For this
example, my file will be named "ICOLIB32". The file will contain:
!----- Dummy source file for 'ICOLIB32.DLL'
PROGRAM
MAP
END
CODE
!------ End
Now you need an export file (.exp). It will contain:
NAME icolib32 GUI
So now we have two files; "ICOLIB32.EXP" and "ICOLIB32.CLW".
In C5EE, create a "New" "Project". Fill out the information as prompted. Be sure to
indicate DLL as the target. For "External source files", you should see the dummy
source file name ("ICOLIB32.CLW"). "Target file" should be the .dll name. Under
"Library, object, and resource files", start adding the names of the icon files you want
to link. When you're done, compile. You should end up with a .dll with nothing but
icon files linked into it. Icons can be accessed by ordinal offset(zero-based) in the
file. What determines ordinal position? -- alphabetic sequence :) The icons are
arranged in alphabetic sequence. What I do to handle assignments is create an
INCLUDE file that contains an EQUATE for each icon resource.
This can be added to any app I need and icon assignment becomes uniform.
Here's an example:
Icon1 EQUATE('icolib32.dll[0]')
Icon2 EQUATE('icolib32.dll[1]')
Icon3 EQUATE('icolib32.dll[2]')
Icon4 EQUATE('icolib32.dll[3]')
Icon5 EQUATE('icolib32.dll[4]')
Icon6 EQUATE('icolib32.dll[5]')
Assignment would be:
0{PROP:Icon} = Icon1
-or-
?Image1{PROP:Text} = Icon1
I'm sure you get the idea.
Today is November 21, 2024, 3:31 am This article has been viewed 35196 times.
|
|