Click here to Skip to main content
15,897,371 members
Articles / Desktop Programming / MFC

Menu, tabs, toolbars, scrollbars, hotkeys, frames resizing, and the ON_COMMAND_RANGE handler for classes derived from CListCtrl on CFormView dialogs

Rate me:
Please Sign up or sign in to vote.
5.00/5 (4 votes)
12 Jul 2009CPOL3 min read 41.7K   1.9K   25  
A demonstration of using a general-purpose MDI interface in MFC table forms.
/////////////////////////////////////////////////////////////////////////////
// MainTabs.h : interface of the CMainTabs class
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_MAINTABS_H__EMERY_EMERALD__INCLUDED_)
	#define AFX_MAINTABS_H__EMERY_EMERALD__INCLUDED_

	#if _MSC_VER > 1000
		#pragma once
	#endif // _MSC_VER > 1000

	/////////////////////////////////////////////////////////////////////////////
	// MainTabs.h : interface of the CMainTabs class
	/////////////////////////////////////////////////////////////////////////////
	class CMainTabs : public CTabCtrl {
		DECLARE_DYNCREATE(CMainTabs)

		public:
			CMainTabs();

		// Attributes
		public:
			//*** Height of tabs
			UINT m_nHeight;

			//*** Tab vertical offset
			UINT m_nVertOffset;

			//*** Tab horizontal offset
			UINT m_nHorzOffset;

			//*** Handle of Client
			HWND m_hClient;

		// Operations
		public:
			void Create(CFrameWnd *pMainFrame);
			void Update();  // Sync the tab control with all views

		// Overrides
			// ClassWizard generated virtual function overrides
			//{{AFX_VIRTUAL(CMainTabs)
			public:
			//}}AFX_VIRTUAL

		// Implementation
		public:
			virtual ~CMainTabs();
		#ifdef _DEBUG
			virtual void AssertValid() const;
			virtual void Dump(CDumpContext &dc) const;
		#endif

		protected:

		// Generated message map functions
		protected:
			//{{AFX_MSG(CMainTabs)
			afx_msg void OnSelChange(NMHDR *pNMHDR, LRESULT *pResult);
			afx_msg LRESULT OnSizeParent(WPARAM, LPARAM lParam);
			//}}AFX_MSG

		DECLARE_MESSAGE_MAP()
	};

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