wxwidgets用xml来描述界面,在程序里获取 变量和事件
	
    
    
	如果对界面美观程序比较高,手写代码是不可避免的。
但如果做的是一些像只是为了显示、控制之类的程序,可能更快的把程序捣鼓出来就好了。
wxwidgets有这样的一个功能,就是能用xml写成界面就能显示
编辑xrc的工具是wxformbuilder,开源免费的,也足够用了,我一开始没找到怎么生成xrc,后来某次偶然看到了下面....原来有c++,py,xrc的生成。
wxwidgets里有个例子,叫xrcdemo
大体是是这样。
平时创建wxwidgets程序,我们一般用wxframe,wxdialog
拿wxframe来举例,我们一般从wxfrrame派生,然后在初始化函数里创建控件。
MyFrame::MyFrame(wxWindow* parent)
{
wxXmlResource::Get()->LoadFrame(this, parent, wxT("main_frame"));
}
而现在只要调用这一句就够了。
事件处理方面也有所变动。
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(XRCID("unload_resource_menuitem"), MyFrame::OnUnloadResourceMenuCommand)
EVT_MENU(wxID_ABOUT, MyFrame::OnAboutToolOrMenuCommand)
END_EVENT_TABLE()
获得相关的控件:
wxAnimationCtrl *ctrl = XRCCTRL(*win, "controls_animation_ctrl", wxAnimationCtrl);
加载xml的地方一般在app::init里面,像这样子
wxXmlResource::Get()->InitAllHandlers();
// Load all of the XRC files that will be used. You can put everything
// into one giant XRC file if you wanted, but then they become more
// diffcult to manage, and harder to reuse in later projects.
// The menubar
if (!wxXmlResource::Get()->Load(wxT("rc/menu.xrc")))
return false;
现在还有个问题,就是缺省对中文支持不好,这个我明天来想个办法。 
    
     
	
	
    
    
	相关文档:
        
    
    简单的类,简化自己读取xml的过程
ReadXML.as
package 
{
	import flash.display.Sprite;
	import flash.display.Loader;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.net.URLLoader;
	import flash.net.URLRequest;
	import flash.system.System;
	import flash.events.EventDis ......
	
    
        
    
    Query:
XmlDocument doc = new XmlDocument();
   
doc.Load(Server.MapPath(".\\db\\dbGuest.xml"));
            
//User是XML根节点,Name字节点
      lbEmail.Text = 
doc.SelectSingleNode("//User ......
	
    
        
    
    首先要有一个简易的服务器,建立一个站点,然后站点下存放  
1:crossdomain.xml 这个是跨与域策略文件,用于指定域通过Flash 
Player访问本域的资源(如果服务器在本机就没有这个必要)但是远程的话就要(建议要)
文件内容:
<cross-domain-policy>
  <allow-access-from domain="*" /> ......
	
    
        
    
    经常见XML序列化的文章,对该序列化方式并不是太晓得,看了MSDN和一些资料后有了大致的了解,大道理讲不出来,上 代码先:
方式一 通过XmlSerialize直接序列化:
Class BeSerialized
{
//某字段
public int someFiled; 
//公共类的一个可序列化的属性
private bool serialme;
public bool SerialMe
{
  ......
	
    
        
    
    在XML文件中读取属性文件(.properties)中的元素值:
web.xml 
<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/conf/dataAccessContext.xml</param-value>
</context-param>
    
<listener>
  <listener-class>
  ......