Click here to Skip to main content
14,024,527 members
Click here to Skip to main content


140 bookmarked
Posted 30 Apr 2001

Read and Write application parameters in XML

, 30 Jun 2003
This article provides an easy way to load and save the parameters of an application in XML format.
#if !defined(AFX_XML_DIALOG_H__28748FA5_4B0F_4FE8_8E81_5E11FB2E03A5__INCLUDED_)
#define AFX_XML_DIALOG_H__28748FA5_4B0F_4FE8_8E81_5E11FB2E03A5__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// XML_Dialog.h : header file
#include "ListCtrl.h"
#include "resource.h"
#include "ParamIO.h"

// CXML_Dialog dialog

class CXML_Dialog : public CDialog
// Construction
	CXML_Dialog(ParamIO &paramIO, CWnd* pParent = NULL);   // standard constructor

	void setSelectedAccess(const char *access);

// Dialog Data
	enum { IDD = IDD_XML_DIALOG };
	CTreeCtrl	m_tree;
	gxListCtrl	m_list;

// Overrides
	// ClassWizard generated virtual function overrides
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support

// Implementation

	void initTree();
	void addToTree(XML_Node::nodes_const_iterator it, HTREEITEM hParent);
	void getTreeAccess(std::vector<std::string> &access);

	void initList(XML_Node::nodes_const_iterator node);

	void setSelectedItem(std::vector<std::string> &strs);
	std::string _access;

   ParamIO &_paramIO;
	XML_Param_Notify& _tree;

	// Generated message map functions
	virtual BOOL OnInitDialog();
	afx_msg void OnSelchangedTree(NMHDR* pNMHDR, LRESULT* pResult);
   afx_msg LONG OnModifiedElement(UINT wParam, LONG lParam);

// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_XML_DIALOG_H__28748FA5_4B0F_4FE8_8E81_5E11FB2E03A5__INCLUDED_)

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Arnaud Brejeon
Web Developer
China China
I've been living & working in Tokyo since 2000 . I'm currently working in Gentech Corp. (, developing computer vision applications, especially in the field of face detection.

I've been interested in C++ for quite a while and recently discovered Ruby.

My hobbies are trekking, japanese food, yoga & onsens.

You may also be interested in...

Permalink | Advertise | Privacy | Cookies | Terms of Use | Mobile
Web06 | 2.8.190419.4 | Last Updated 1 Jul 2003
Article Copyright 2001 by Arnaud Brejeon
Everything else Copyright © CodeProject, 1999-2019
Layout: fixed | fluid