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,才能正常使用。

  • 相关阅读:
    数据库知识整理<二>
    数据库知识整理<一>
    面试经历感悟:
    JDK,J2EE,J2SE,J2ME的概念区别是什么呢?
    HTML与JSP页面的区别
    Java并发编程:深入剖析ThreadLocal
    剖析错误原理并解决Hibernate出现No TransactionManagerLookup specified!错误
    MyEclipse中jar包管理技巧
    String,StringBuffer与StringBuilder的区别??
    POJO / JavaBean / Entity Bean
  • 原文地址:https://www.cnblogs.com/fredliu/p/4075955.html
Copyright © 2011-2022 走看看