檢視原始碼 wxXmlResource (wx v2.4.3)
這是與基於 XML 的資源系統互動的主要類別。
此類別保存來自一個或多個 .xml 檔案、二進位檔案或 zip 壓縮檔的 XML 資源。
請注意,這是一個單例類別,您永遠不會配置/釋放它。只需使用靜態的 get/0
getter 即可。
請參閱
wxWidgets 文件:wxXmlResource
摘要
函式
將一個未知控制項附加到給定的面板/視窗/對話方塊。
移除所有處理常式並刪除它們 (這意味著使用 AddHandler()
(wx 中未實作) 新增的任何處理常式都必須在堆積上配置)。
將 XRC 版本與引數進行比較。
銷毀物件
取得全域資源物件,如果不存在則建立一個。
傳回旗標,它可能是 ?wxXmlResourceFlags 列舉值的位元列表。
傳回版本資訊 (a.b.c.d = d + 256c + 2562b + 2563*a)。
傳回與 XML 資源中使用的字串 ID 等效的數值 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 + 256c + 2562b + 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()}.
傳回與 XML 資源中使用的字串 ID 等效的數值 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().