PythonWin and Resources
As we’ve discussed, MFC provides a framework architecture, and much of this architecture is tied together by resource IDs, integers that identify Windows resources in a DLL or executable.
For example, when you define a DocumentTemplate,
you specify a resource ID. The previous example doesn’t specify
a resource ID, so the default of
win32ui.IDR_PYTHONTYPE is used. When a document is
created, MFC uses the resource ID in the following ways:
The menu with the ID is loaded and used for the document’s frame. This allows each document supported in an application to have a unique set of menus as is common in MDI applications.
The icon with the ID is loaded and used for the document’s frame.
The accelerator with that ID is loaded, providing document-specific shortcut keys to many of the menu functions.
Another example of the reliance on resource IDs is in the processing and definition of menu and toolbar items. Each command in the application is assigned an ID. When you define menu or toolbar items, you specify the menu text (or toolbar bitmap) and the command ID. When MFC displays a menu item, it uses a string defined with the same ID and places this text automatically in the application’s status bar. When the mouse hovers over a toolbar item, MFC again looks for a string with the specified ID and uses it for the tooltip-text for the button. This architecture has a number of advantages:
Hooking the various pieces of your application together becomes simple. You define ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access