Defining Windows Resources
windres reads a Windows resource file
(*.rc) and converts it to a res or coff file.
The syntax and semantics of the input file are the same as for any
other resource compiler, so please refer to any publication describing
the Windows resource format for details. Also, the
windres program itself is fully documented in the
Binutils manual. Here's an example of using it in a project:
What follows is a quick-reference to the syntax
windres supports.
id ACCELERATORS suboptions
BEG
"^C" 12
"Q" 12
65 12
65 12 , VIRTKEY ASCII NOINVERT SHIFT CONTROL ALT
65 12 , VIRTKEY, ASCII, NOINVERT, SHIFT, CONTROL, ALT
(12 is an acc_id)
END
SHIFT, CONTROL, ALT require VIRTKEY
id BITMAP memflags "filename"
memflags defaults to MOVEABLE
id CURSOR memflags "filename"
memflags defaults to MOVEABLE,DISCARDABLE
id DIALOG memflags exstyle x,y,width,height styles BEG controls END
id DIALOGEX memflags exstyle x,y,width,height styles BEG controls END
id DIALOGEX memflags exstyle x,y,width,height,helpid styles BEG controls END
memflags defaults to MOVEABLE
exstyle may be EXSTYLE=number
styles: CAPTION "string"
CLASS id
STYLE FOO | NOT FOO | (12)
EXSTYLE number
FONT number, "name"
FONT number, "name",weight,italic
MENU id
CHARACTERISTICS number
LANGUAGE number,number
VERSIONK number
controls:
AUTO3STATE params
AUTOCHECKBOX params
AUTORADIOBUTTON params
BEDIT params
CHECKBOX params
COMBOBOX params
CONTROL ["name",] id, class, style, x,y,w,h [,exstyle] [data]
CONTROL ["name",] id, class, style, x,y,w,h, exstyle, helpid [data]
CTEXT params
DEFPUSHBUTTON params
EDITTEXT params
GROUPBOX params
HEDIT params
ICON ["name",] id, x,y [data]
ICON ["name",] id, x,y,w,h, style, exstyle [data]
ICON ["name",] id, x,y,w,h, style, exstyle, helpid [data]
IEDIT params
LISTBOX params
LTEXT params
PUSHBOX params
PUSHBUTTON params
RADIOBUTTON params
RTEXT params
SCROLLBAR params
STATE3 params
USERBUTTON "string", id, x,y,w,h, style, exstyle
params:
["name",] id, x, y, w, h, [data]
["name",] id, x, y, w, h, style [,exstyle] [data]
["name",] id, x, y, w, h, style, exstyle, helpid [data]
[data] is optional BEG (string|number) [,(string|number)] (etc) END
id FONT memflags "filename"
memflags defaults to MOVEABLE|DISCARDABLE
id ICON memflags "filename"
memflags defaults to MOVEABLE|DISCARDABLE
LANGUAGE num,num
id MENU options BEG items END
items:
"string", id, flags
SEPARATOR
POPUP "string" flags BEG menuitems END
flags:
CHECKED
GRAYED
HELP
INACTIVE
MENUBARBREAK
MENUBREAK
id MENUEX suboptions BEG items END
items:
MENUITEM "string"
MENUITEM "string", id
MENUITEM "string", id, type [,state]
POPUP "string" BEG items END
POPUP "string", id BEG items END
POPUP "string", id, type BEG items END
POPUP "string", id, type, state [,helpid] BEG items END
id MESSAGETABLE memflags "filename"
memflags defaults to MOVEABLE
id RCDATA suboptions BEG (string|number) [,(string|number)] (etc) END
STRINGTABLE suboptions BEG strings END
strings:
id "string"
id, "string"
(User data)
id id suboptions BEG (string|number) [,(string|number)] (etc) END
id VERSIONINFO stuffs BEG verblocks END
stuffs: FILEVERSION num,num,num,num
PRODUCTVERSION num,num,num,num
FILEFLAGSMASK num
FILEOS num
FILETYPE num
FILESUBTYPE num
verblocks:
BLOCK "StringFileInfo" BEG BLOCK BEG vervals END END
BLOCK "VarFileInfo" BEG BLOCK BEG vertrans END END
vervals: VALUE "foo","bar"
vertrans: VALUE num,num
suboptions:
memflags
CHARACTERISTICS num
LANGUAGE num,num
VERSIONK num
memflags are MOVEABLE/FIXED PURE/IMPURE PRELOAD/LOADONCALL DISCARDABLE