查看源代码 wxXmlResource (wx v2.4.3)
这是与基于 XML 的资源系统交互的主要类。
该类保存来自一个或多个 .xml 文件、二进制文件或 zip 存档文件的 XML 资源。
请注意,这是一个单例类,您永远不会分配/释放它。只需使用静态 get/0
getter。
请参阅
wxWidgets 文档:wxXmlResource
摘要
函数
将未知控件附加到给定的面板/窗口/对话框。
删除所有处理程序并删除它们(这意味着使用 AddHandler()
(在 wx 中未实现)添加的任何处理程序都必须在堆上分配)。
将 XRC 版本与参数进行比较。
销毁对象
获取全局资源对象,如果不存在则创建一个。
返回标志,它可以是 ?wxXmlResourceFlags 枚举值的位列表。
返回版本信息 (a.b.c.d = d + 256*c + 2562*b + 2563*a)。
返回一个数值 ID,该 ID 等效于 XML 资源中使用的字符串 ID。
初始化所有支持的控件/窗口的处理程序。
从与给定文件掩码匹配的 XML 文件加载资源。
从文件加载位图资源。
从资源加载框架。
将框架的内容加载到现有的 wxFrame
上。
从文件加载图标资源。
从资源加载菜单。
从资源加载菜单栏。
构造函数。
构造函数。
设置全局资源对象并返回指向上一个对象的指针(可能为 NULL)。
设置标志(?wxXmlResourceFlags 枚举值的位列表)。
此函数卸载先前由 load/2
加载的资源。
类型
-type wxXmlResource() :: wx:wx_object().
函数
-spec attachUnknownControl(This, Name, Control) -> boolean() when This :: wxXmlResource(), Name :: unicode:chardata(), Control :: wxWindow:wxWindow().
-spec attachUnknownControl(This, Name, Control, [Option]) -> boolean() when This :: wxXmlResource(), Name :: unicode:chardata(), Control :: wxWindow:wxWindow(), Option :: {parent, wxWindow:wxWindow()}.
将未知控件附加到给定的面板/窗口/对话框。
未知控件与 <object class="unknown"> 结合使用。
-spec clearHandlers(This) -> ok when This :: wxXmlResource().
删除所有处理程序并删除它们(这意味着使用 AddHandler()
(在 wx 中未实现)添加的任何处理程序都必须在堆上分配)。
-spec compareVersion(This, Major, Minor, Release, Revision) -> integer() when This :: wxXmlResource(), Major :: integer(), Minor :: integer(), Release :: integer(), Revision :: integer().
将 XRC 版本与参数进行比较。
如果 XRC 版本小于参数,则返回 -1;如果大于参数,则返回 +1;如果相等,则返回 0。
-spec destroy(This :: wxXmlResource()) -> ok.
销毁对象
-spec get() -> wxXmlResource().
获取全局资源对象,如果不存在则创建一个。
-spec getFlags(This) -> integer() when This :: wxXmlResource().
返回标志,它可以是 ?wxXmlResourceFlags 枚举值的位列表。
-spec getVersion(This) -> integer() when This :: wxXmlResource().
返回版本信息 (a.b.c.d = d + 256*c + 2562*b + 2563*a)。
-spec getXRCID(Str_id) -> integer() when Str_id :: unicode:chardata().
等效于 getXRCID(Str_id, [])
。
-spec getXRCID(Str_id, [Option]) -> integer() when Str_id :: unicode:chardata(), Option :: {value_if_not_found, integer()}.
返回一个数值 ID,该 ID 等效于 XML 资源中使用的字符串 ID。
如果请求了未知的 str_id
(即,除了 wxID_XXX 或整数),则会创建一个新记录,该记录将给定的字符串与数字关联起来。
如果 value_if_not_found
为 wxID_NONE
,则通过 wx_misc:newId/0
获取数字。否则,将使用 value_if_not_found
。
提供宏 XRCID(name)
以方便在事件表中使用。
注意:XRCID() 返回的 ID 不能与 EVT_*_RANGE
宏一起使用,因为它们分配给符号 name
值的顺序无法保证。
-spec initAllHandlers(This) -> ok when This :: wxXmlResource().
初始化所有支持的控件/窗口的处理程序。
这将使可执行文件变得非常大,因为它强制链接到 wxWidgets 库的大部分内容。
-spec load(This, Filemask) -> boolean() when This :: wxXmlResource(), Filemask :: unicode:chardata().
从与给定文件掩码匹配的 XML 文件加载资源。
示例
注意:如果启用了 wxUSE_FILESYS,则此方法理解 wxFileSystem
(在 wx 中未实现)URL(请参阅 wxFileSystem::FindFirst()
(在 wx 中未实现))。
注意:如果您确定参数是单个 XRC 文件的名称(而不是 URL 或通配符),请改用 LoadFile()
(在 wx 中未实现)。
-spec loadBitmap(This, Name) -> wxBitmap:wxBitmap() when This :: wxXmlResource(), Name :: unicode:chardata().
从文件加载位图资源。
-spec loadDialog(This, Parent, Name) -> wxDialog:wxDialog() when This :: wxXmlResource(), Parent :: wxWindow:wxWindow(), Name :: unicode:chardata().
加载对话框。
parent
指向父窗口(如果有)。
-spec loadDialog(This, Dlg, Parent, Name) -> boolean() when This :: wxXmlResource(), Dlg :: wxDialog:wxDialog(), Parent :: wxWindow:wxWindow(), Name :: unicode:chardata().
加载对话框。
parent
指向父窗口(如果有)。
此形式用于完成已存在实例的创建(这样做的主要原因是您可能希望将派生类与新的事件表一起使用)。示例
-spec loadFrame(This, Parent, Name) -> wxFrame:wxFrame() when This :: wxXmlResource(), Parent :: wxWindow:wxWindow(), Name :: unicode:chardata().
从资源加载框架。
parent
指向父窗口(如果有)。
-spec loadFrame(This, Frame, Parent, Name) -> boolean() when This :: wxXmlResource(), Frame :: wxFrame:wxFrame(), Parent :: wxWindow:wxWindow(), Name :: unicode:chardata().
将框架的内容加载到现有的 wxFrame
上。
此形式用于完成已存在实例的创建(这样做的主要原因是您可能希望将派生类与新的事件表一起使用)。
-spec loadIcon(This, Name) -> wxIcon:wxIcon() when This :: wxXmlResource(), Name :: unicode:chardata().
从文件加载图标资源。
-spec loadMenu(This, Name) -> wxMenu:wxMenu() when This :: wxXmlResource(), Name :: unicode:chardata().
从资源加载菜单。
失败时返回 NULL。
-spec loadMenuBar(This, Name) -> wxMenuBar:wxMenuBar() when This :: wxXmlResource(), Name :: unicode:chardata().
-spec loadMenuBar(This, Parent, Name) -> wxMenuBar:wxMenuBar() when This :: wxXmlResource(), Parent :: wxWindow:wxWindow(), Name :: unicode:chardata().
从资源加载菜单栏。
失败时返回 NULL。
-spec loadPanel(This, Parent, Name) -> wxPanel:wxPanel() when This :: wxXmlResource(), Parent :: wxWindow:wxWindow(), Name :: unicode:chardata().
加载面板。
parent
指向父窗口。
-spec loadPanel(This, Panel, Parent, Name) -> boolean() when This :: wxXmlResource(), Panel :: wxPanel:wxPanel(), Parent :: wxWindow:wxWindow(), Name :: unicode:chardata().
加载面板。
parent
指向父窗口。此形式用于完成已存在实例的创建。
-spec loadToolBar(This, Parent, Name) -> wxToolBar:wxToolBar() when This :: wxXmlResource(), Parent :: wxWindow:wxWindow(), Name :: unicode:chardata().
加载工具栏。
-spec new() -> wxXmlResource().
等效于 new([])
。
-spec new([Option]) -> wxXmlResource() when Option :: {flags, integer()} | {domain, unicode:chardata()}.
构造函数。
-spec new(Filemask, [Option]) -> wxXmlResource() when Filemask :: unicode:chardata(), Option :: {flags, integer()} | {domain, unicode:chardata()}.
构造函数。
-spec set(Res) -> wxXmlResource() when Res :: wxXmlResource().
设置全局资源对象并返回指向上一个对象的指针(可能为 NULL)。
-spec setFlags(This, Flags) -> ok when This :: wxXmlResource(), Flags :: integer().
设置标志(?wxXmlResourceFlags 枚举值的位列表)。
-spec unload(This, Filename) -> boolean() when This :: wxXmlResource(), Filename :: unicode:chardata().
此函数卸载先前由 load/2
加载的资源。
如果资源已成功卸载,则返回 true;如果未在已加载资源列表中找到资源,则返回 false。
-spec xrcctrl(Window, Name, Type) -> wx:wx_object() when Window :: wxWindow:wxWindow(), Name :: string(), Type :: atom().