zoukankan      html  css  js  c++  java
  • MFC 全局配置 读取保存配置

    不知道关于全局配置别人都是怎么处理的,最近做的东西都用到全局配置,而且要保存软件的设置,下次启动时要使用上次关闭时的配置。

    我的做法是建一个类用来保存和读取配置,并且在这个类中创建一些变量,供所有的界面类,处理类使用。

    例如这个类的名字

    CGloableConfig 

    做个比方,比如我在好多对话框或处理类中都用到一个变量,

    CString strLLow;

    这个变量在软件启动的时候需要从配置文件中读出,并在关闭软件是保存,在某个对话框中这个此值的大小,在某个处理类中需要知道此值的大小。

    全局配置配置的类,在CMainFrame中定义一个对象,当然这是对于多文档程序来讲,对于单文档的或对话框的话就在主view中定义。

    CGloableConfig  gloablecfg;

    在这个CGloableConfig中有个初始化函数,一个退出时的保存函数。

    void CGloableConfig::Init(CString strFile)

    void CGloableConfig::SaveConfig(CString strFile)

    这里使用INI文件作为配置文件,在软件启动的时候调用Init函数读取值,


    GetPrivateProfileString("Panding","LLow","Odd",charTemp,20,strFile);
    strLLow.Format("%s",charTemp);

    在退出的时候调用SaveConfig保存值

    WritePrivateProfileString("Panding","LLow",strLLow,strFile);

    在设置此值的对话框中,可以修改这个值,首先获取主窗口的指针

    CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();

    pMainFrame->gloablecfg.strLLow = “12345”;

    如果是单文档的,获取主View的指针

    CBrightnessMeasureView * pMainView = (CBrightnessMeasureView*)((CFrameWnd*)AfxGetApp()->m_pMainWnd)->GetActiveView();

    pMainView->gloablecfg.strLLow = “12345”;

    在使用的此值的时候,一样要获取主窗口或主View的指针,然后获取gloablecfg,才能正常使用。

  • 相关阅读:
    MarkDown学习记录
    AngularJS+Ionic开发-2.项目结构介绍
    【二分+贪心+倍增】【NOIP2012】疫情控制
    【考试总结】NOIP模拟 test11-1
    【考试总结】NOIP模拟 test10-27
    【考试总结】AHSOFNU&QZQZ test10-25
    【差分+二分答案】【NOIP2012】借教室
    【动态规划】【NOIP2015】子串
    【高精度+贪心】【NOIP2012】国王游戏
    ICPC Central Russia Regional Contest (CRRC 19)题解
  • 原文地址:https://www.cnblogs.com/fredliu/p/4075955.html
Copyright © 2011-2022 走看看