Click here to Skip to main content
15,891,529 members
Articles / Desktop Programming / Win32

Creation and memory mapping existing DBF files as alternative of data serialization during work with modified CListCtrl classes in virtual mode on dialogs of MDI application

Rate me:
Please Sign up or sign in to vote.
4.64/5 (6 votes)
22 Jul 2009CPOL11 min read 47.1K   1.5K   26  
The demonstration of reading, writing and creation of standard DBF files with random access in memory instead of serialization of typical MFC application for descendants of CListCtrl classes in Virtual Mode.
/////////////////////////////////////////////////////////////////////////////
// HeaderCtrlEx.h : header file
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_HEADERCTRLEX_H__EMERY_EMERALD__INCLUDED_)
	#define AFX_HEADERCTRLEX_H__EMERY_EMERALD__INCLUDED_

	#if _MSC_VER > 1000
		#pragma once
	#endif  // _MSC_VER > 1000
	
	#include "..\Main.h"

	/////////////////////////////////////////////////////////////////////////////
	// class CHeaderCtrlEx
	/////////////////////////////////////////////////////////////////////////////
	class CHeaderCtrlEx : public CHeaderCtrl {
		// Construction
		public:
			CHeaderCtrlEx();

		// Attributes
		public:
			//*** The meta table structure
			META_TABLE m_MetaTable;

			//*** The width of defect of displacement of the table header to the left
			UINT m_nHdrWidthDefect;

			//*** The height of defect of the table header
			UINT m_nHdrHeightDefect;

		protected:

		// Operations
		public:

		// Overrides
		public:

		// Implementation
		public:
			virtual ~CHeaderCtrlEx();

		protected:
			virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);

		// Generated message map functions
		protected:
			afx_msg LRESULT OnLayout(WPARAM wParam, LPARAM lParam);
			//afx_msg BOOL OnGetItem(WPARAM wParam, LPARAM lParam);
			//afx_msg void OnEndTrack(NMHDR *pNMHDR, LRESULT *pResult);

		DECLARE_MESSAGE_MAP()
	};

	//{{AFX_INSERT_LOCATION}}
	// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_HEADERCTRLEX_H__EMERY_EMERALD__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.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer
Ukraine Ukraine
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions