wxConfig类学习

http://hi.baidu.com/shiqiang_hx/item/4fb7e7fbb1d9060fc6dc45d2

wxConfigBase是配置类的基类,不能直接使用它,必须使用它的派生类:wxFileConfig或wxRegConfig。

包含文件

<wx/config.h> (to let wxWidgets choose a wxConfig class for your platform)
由wxWidgets根据您的平台选择一个wxConfig类
<wx/confbase.h> (base config class)
基础配置类
<wx/fileconf.h> (wxFileConfig class)
配置文件类
<wx/msw/regconf.h> (wxRegConfig class)
WIN32平台的注册表类

wxFileConfig和wxRegConfig只是在基类的基础上增加了一些方法:
例:wxFileConfig扩充了wxFileConfig::Save和wxFileConfig::SetUmask函数,当然还有两个构造函数:
//构造函数1
wxFileConfig(const wxString& appName = wxEmptyString,
               const wxString& vendorName = wxEmptyString,
               const wxString& localFilename = wxEmptyString,
               const wxString& globalFilename = wxEmptyString,
               long style = wxCONFIG_USE_LOCAL_FILE | wxCONFIG_USE_GLOBAL_FILE,
               const wxMBConv& conv = wxConvAuto());
//构造函数2
#if wxUSE_STREAMS
    // ctor that takes an input stream.
wxFileConfig(wxInputStream &inStream, const wxMBConv& conv = wxConvAuto());
#endif // wxUSE_STREAMS
//结束

示例:(huang liu jing的代码)
    wxFileInputStream is(wxT("config.ini"));
    //上边的is代表input stream
    wxFileConfig *conf = new wxFileConfig(is);

    //wxFileConfig *conf = new wxFileConfig(wxEmptyString, wxEmptyString, wxEmptyString, _T("config_huangliujing.ini"), wxCONFIG_USE_GLOBAL_FILE);
    // right now the current path is '/'
    //上句的解释是,在配置文件中当前的读写路径是根。
    conf->Write(_T("Group/RootEntry"), _T("Example"));

    // go to some other place: if the group(s) don't exist, they will be created

    // create an entry in subgroup
    conf->Write(_T("Group/Subgroup/SubgroupEntry"), 3);
    //注意上行与INI文件中对应的项目
    // '..' is understood
    //conf->Write(_T("../GroupEntry"), 2);

    wxFileOutputStream os(wxT("config.ini"));

    conf->Save(os);
    os.Close();
    delete conf;
//示例结束

//上例config.INI文件的内容:
[Group]
RootEntry=Example
[Group/Subgroup]
SubgroupEntry=3

通过上例,wxConfig类读写的配置信息是采用树形结构组织的。

你可能感兴趣的:(wxConfig类学习)