This section details functions for manipulating wxWindows (.WXR) resource files and loading user interface elements from resources.
For an overview of the wxWindows resource mechanism, see the wxWindows resource system.
See also wxWindow::LoadFromResource for loading from resource data.
::wxResourceAddIdentifier
::wxResourceClear
::wxResourceCreateBitmap
::wxResourceCreateIcon
::wxResourceCreateMenuBar
::wxResourceGetIdentifier
::wxResourceParseData
::wxResourceParseFile
::wxResourceParseString
::wxResourceRegisterBitmapData
::wxResourceRegisterIconData
bool wxResourceAddIdentifier(const wxString& name, int value)
Used for associating a name with an integer identifier (equivalent to dynamically #defining a name to an integer). Unlikely to be used by an application except perhaps for implementing resource functionality for interpreted languages.
void wxResourceClear()
Clears the wxWindows resource table.
wxBitmap * wxResourceCreateBitmap(const wxString& resource)
Creates a new bitmap from a file, static data, or Windows resource, given a valid wxWindows bitmap resource identifier. For example, if the .WXR file contains the following:
static const wxString\& project_resource = "bitmap(name = 'project_resource',\ bitmap = ['project', wxBITMAP_TYPE_BMP_RESOURCE, 'WINDOWS'],\ bitmap = ['project.xpm', wxBITMAP_TYPE_XPM, 'X']).";then this function can be called as follows:
wxBitmap *bitmap = wxResourceCreateBitmap("project_resource");
wxIcon * wxResourceCreateIcon(const wxString& resource)
Creates a new icon from a file, static data, or Windows resource, given a valid wxWindows icon resource identifier. For example, if the .WXR file contains the following:
static const wxString\& project_resource = "icon(name = 'project_resource',\ icon = ['project', wxBITMAP_TYPE_ICO_RESOURCE, 'WINDOWS'],\ icon = ['project', wxBITMAP_TYPE_XBM_DATA, 'X']).";then this function can be called as follows:
wxIcon *icon = wxResourceCreateIcon("project_resource");
wxMenuBar * wxResourceCreateMenuBar(const wxString& resource)
Creates a new menu bar given a valid wxWindows menubar resource identifier. For example, if the .WXR file contains the following:
static const wxString\& menuBar11 = "menu(name = 'menuBar11',\ menu = \ [\ ['&File', 1, '', \ ['&Open File', 2, 'Open a file'],\ ['&Save File', 3, 'Save a file'],\ [],\ ['E&xit', 4, 'Exit program']\ ],\ ['&Help', 5, '', \ ['&About', 6, 'About this program']\ ]\ ]).";then this function can be called as follows:
wxMenuBar *menuBar = wxResourceCreateMenuBar("menuBar11");
int wxResourceGetIdentifier(const wxString& name)
Used for retrieving the integer value associated with an identifier. A zero value indicates that the identifier was not found.
bool wxResourceParseData(const wxString& resource, wxResourceTable *table = NULL)
Parses a string containing one or more wxWindows resource objects. If the resource objects are global static data that are included into the C++ program, then this function must be called for each variable containing the resource data, to make it known to wxWindows.
resource should contain data in the following form:
dialog(name = 'dialog1', style = 'wxCAPTION | wxDEFAULT_DIALOG_STYLE', title = 'Test dialog box', x = 312, y = 234, width = 400, height = 300, modal = 0, control = [1000, wxStaticBox, 'Groupbox', '0', 'group6', 5, 4, 380, 262, [11, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0]], control = [1001, wxTextCtrl, '', 'wxTE_MULTILINE', 'text3', 156, 126, 200, 70, 'wxWindows is a multi-platform, GUI toolkit.', [11, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0], [11, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0]]).This function will typically be used after including a .wxr file into a C++ program as follows:
#include "dialog1.wxr"Each of the contained resources will declare a new C++ variable, and each of these variables should be passed to wxResourceParseData.
bool wxResourceParseFile(const wxString& filename, wxResourceTable *table = NULL)
Parses a file containing one or more wxWindows resource objects in C++-compatible syntax. Use this function to dynamically load wxWindows resource data.
bool wxResourceParseString(char *s, wxResourceTable *table = NULL)
Parses a string containing one or more wxWindows resource objects. If the resource objects are global static data that are included into the C++ program, then this function must be called for each variable containing the resource data, to make it known to wxWindows.
resource should contain data with the following form:
dialog(name = 'dialog1', style = 'wxCAPTION | wxDEFAULT_DIALOG_STYLE', title = 'Test dialog box', x = 312, y = 234, width = 400, height = 300, modal = 0, control = [1000, wxStaticBox, 'Groupbox', '0', 'group6', 5, 4, 380, 262, [11, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0]], control = [1001, wxTextCtrl, '', 'wxTE_MULTILINE', 'text3', 156, 126, 200, 70, 'wxWindows is a multi-platform, GUI toolkit.', [11, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0], [11, 'wxSWISS', 'wxNORMAL', 'wxNORMAL', 0]]).This function will typically be used after calling wxLoadUserResource to load an entire .wxr file into a string.
bool wxResourceRegisterBitmapData(const wxString& name, char *xbm_data, int width, int height, wxResourceTable *table = NULL)
bool wxResourceRegisterBitmapData(const wxString& name, char **xpm_data)
Makes #included XBM or XPM bitmap data known to the wxWindows resource system. This is required if other resources will use the bitmap data, since otherwise there is no connection between names used in resources, and the global bitmap data.
Another name for wxResourceRegisterBitmapData.