wxWidgets教程(12)——wxConfig使用说明

一、 wxConfig介绍

wxConfigBase是所有配置文件类的基类,而且是抽象类,无法直接使用。
1、wx/config.h => 这会根据你所在的平台选择wxFileConfig还是wxRegConfig。
2、wx/fileconf.h => 文件配置wxFileConfig
3、wx/msw/regconf.h => windows下注册表配置wxRegConfig

二、wxFileConfig使用方法

1、构造函数

使用字符串参数构造,代码如下:

    wxFileConfig * config = new wxFileConfig(wxT("wxdemo3"),\
        wxEmptyString,wxT("config.ini"),wxEmptyString,\
        wxCONFIG_USE_RELATIVE_PATH);
    config->Write(wxT("MyFamily/name"),wxT("yan"));
    delete config;

使用文件流来构造,代码如下:

    //#include <wx/wfstream.h>
    wxFileInputStream is(wxT("config.ini"));
    wxFileConfig *config = new wxFileConfig(is);
    config->Write(wxT("MyFamily/name"),wxT("yan"));
    wxFileOutputStream os(wxT("config.ini"));
    config->Save(os);
    os.Close();
    delete config;
2、配置文件的权限
使用SetUmask函数来设置,但是只有unix和linux下是有效的
    config->SetUmask(0077);
3、参数的读取与写入
使用Write和Read来读写,以及路径的切换,代码如下:
    // 切换到MyFramily下
    config->SetPath(wxT("/MyFramily"));
    config->Write(wxT("name"),wxT("yan"));
    // 切换到根路径
    config->SetPath(wxT(".."));
    config->Write(wxT("family"), wxT("wang"));
结果,配置文件的内容如下:
    family=wang
    [MyFramily]
    name=yan

三、wxRegConfig使用说明

使用注册表作为配置信息
    wxRegConfig * config = new wxRegConfig(wxT("wxdemo3"));
    // 切换到MyFramily下
    config->SetPath(wxT("/MyFramily"));
    config->Write(wxT("name"),wxT("yan"));
    // 切换到根路径
    config->SetPath(wxT(".."));
    config->Write(wxT("family"), wxT("wang"));
    delete config;
最后的结果如下:
HKEY_CURRENT_USER\Software\wxdemo3\family => wang
HKEY_CURRENT_USER\Software\wxdemo3\MyFramily\name => yan

猜你喜欢

转载自blog.csdn.net/wyansai/article/details/78484674