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

  • 相关阅读:
    ABP框架插件开发
    ionic 向路由中的templateUrl(模板页)传值
    EFT4 生成实体类
    mvc 下的 signalR使用小结
    利用javascript实现页面截图
    linux定时任务php
    PHPCMSV9的CKEDITOR编辑器增加行距
    上传网站后建议执行:chown www:www -R /path/to/dir 对网站目录进行权限设置,/path/to/dir替换为你网站目录。
    centOS7下安装GUI图形界面
    虚拟机中的Linux安装VMware Tools的方法
  • 原文地址:https://www.cnblogs.com/fredliu/p/4075955.html
Copyright © 2011-2022 走看看