Click here to Skip to main content
15,895,777 members
Articles / Desktop Programming / MFC

Professional User Interface Suite

Rate me:
Please Sign up or sign in to vote.
4.99/5 (174 votes)
13 Jan 200423 min read 1.5M   23.6K   641  
MFC extension library enabling software to be provided with a professional UI
// mainfrm.h : interface of the CMainFrame class
//
// This is a part of the Microsoft Foundation Classes C++ library.
// Copyright (C) 1992-1998 Microsoft Corporation
// All rights reserved.
//
// This source code is only intended as a supplement to the
// Microsoft Foundation Classes Reference and related
// electronic documentation provided with the library.
// See these sources for detailed information regarding the
// Microsoft Foundation Classes product.


class CMainFrame : public CMDIFrameWnd
{
	DECLARE_DYNAMIC(CMainFrame)
public:
	class CColorBtnFill : public CExtColorButton
	{
		CFont m_FontForLetter;
	public:
		CColorBtnFill();
		virtual void OnGenerateColorBtnIcon(
			HICON * p_hIcon,
			bool * p_bDestroyIcon
			);
	};
	class CColorBtnOutline : public CExtColorButton
	{
	public:
		virtual void OnGenerateColorBtnIcon(
			HICON * p_hIcon,
			bool * p_bDestroyIcon
			);
	};
	CExtButton m_btnLineWidth;
	CColorBtnFill m_btnColorFill;
	CColorBtnOutline m_btnColorOutline;

	CMainFrame();

// Attributes
public:

	// window placement persistence
	WINDOWPLACEMENT m_dataFrameWP;

// Operations
public:

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

public:
	// control bar embedded members
	CExtMenuControlBar		m_wndMenuBar;
	CExtStatusControlBar	m_wndStatusBar;
	CExtToolControlBar		m_wndToolBarStandard;
	CExtToolControlBar		m_wndToolBarCustom;

#if (!defined __EXT_MFC_NO_TABMDI_CTRL)
	CExtTabMdiWnd			m_wndMdiTabs;
#endif // (!defined __EXT_MFC_NO_TABMDI_CTRL)

public:
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	virtual BOOL DestroyWindow();
	virtual void ActivateFrame(int nCmdShow = -1);
// Generated message map functions
protected:
	//{{AFX_MSG(CMainFrame)
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnMditabsTop();
	afx_msg void OnUpdateMditabsTop(CCmdUI* pCmdUI);
	afx_msg void OnMditabsBottom();
	afx_msg void OnUpdateMditabsBottom(CCmdUI* pCmdUI);
	afx_msg void OnMditabsLeft();
	afx_msg void OnUpdateMditabsLeft(CCmdUI* pCmdUI);
	afx_msg void OnMditabsRight();
	afx_msg void OnUpdateMditabsRight(CCmdUI* pCmdUI);
	afx_msg void OnMditabsShowClose();
	afx_msg void OnUpdateMditabsShowClose(CCmdUI* pCmdUI);
	afx_msg void OnMditabsShowCtxHelp();
	afx_msg void OnUpdateMditabsShowCtxHelp(CCmdUI* pCmdUI);
	afx_msg void OnUistyle2000();
	afx_msg void OnUpdateUistyle2000(CCmdUI* pCmdUI);
	afx_msg void OnUistyleXp();
	afx_msg void OnUpdateUistyleXp(CCmdUI* pCmdUI);
	//}}AFX_MSG
	afx_msg LRESULT OnExtMenuPrepare(WPARAM wParam, LPARAM lParam);
	afx_msg LRESULT OnDrawPopupMenuItem(WPARAM wParam, LPARAM lParam);
	afx_msg LRESULT OnColorChangedFinally(WPARAM wParam, LPARAM lParam);
	afx_msg LRESULT OnColorSelectCustom(WPARAM wParam, LPARAM lParam);
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

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 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


Written By
Architect Foss Software Inc
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