www.pudn.com > mu_explorer.rar > CJFlatSplitterWnd.h
// CJFlatSplitterWnd.h : header file
// Copyright © 1998-1999 CodeJock.com, All Rights Reserved.
// See ReadMe.txt for TERMS OF USE.
//
// Based on the CSplitterWndEx class written by Oleg G. Galkin.
// mailto:OlegGa@vest.msk.ru
// http://www.codeguru.com/splitter/show_hide_static_panes.shtml
//
/////////////////////////////////////////////////////////////////////////////
/****************************************************************************
*
* $Date: 10/26/99 10:39p $
* $Revision: 5 $
* $Archive: /CodeJock/Include/CJFlatSplitterWnd.h $
*
* $History: CJFlatSplitterWnd.h $
*
* ***************** Version 5 *****************
* User: Kirk Stowell Date: 10/26/99 Time: 10:39p
* Updated in $/CodeJock/Include
* Made class methods virtual for inheritance purposes.
*
* ***************** Version 4 *****************
* User: Kirk Stowell Date: 8/31/99 Time: 1:11a
* Updated in $/CodeJockey/Include
* Updated copyright and contact information.
*
* ***************** Version 3 *****************
* User: Kirk Stowell Date: 7/25/99 Time: 12:42a
* Updated in $/CodeJockey/Include
*
* ***************** Version 2 *****************
* User: Kirk Stowell Date: 7/18/99 Time: 10:17p
* Updated in $/CodeJockey/Include
* Cleaned up inline functions, and import/export macro so that class will
* be imported when linked to, and exported at compile time.
*
* ***************** Version 1 *****************
* User: Kirk Stowell Date: 7/14/99 Time: 10:00p
* Created in $/CodeJockey/Include
* Class added to support flat splitters, removable splitter views and
* view manipulation.
*
***************************************************************************/
/////////////////////////////////////////////////////////////////////////////
#ifndef __CJFLATSPLITTERWND_H__
#define __CJFLATSPLITTERWND_H__
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// CCJFlatSplitterWnd is a CSplitterWnd derived class which adds the ability
// to hide and show splitter panes, based upon its index, and
// to draw flat splitter windows simular to Oultook.
class CCJFlatSplitterWnd : public CSplitterWnd
{
public:
// Default constructor
//
CCJFlatSplitterWnd();
// Virtual destructor
//
virtual ~CCJFlatSplitterWnd();
protected:
int m_nHiddenCol; // Index of the hidden column.
int m_nHiddenRow; // Index of the hidden row.
BOOL m_bFlatSplitter; // true if the SPLS_FLATEDGE style was used during creation.
public:
// call this member function to enable or disable flat splitters.
//
virtual void DisableFlatStyle(BOOL bDisable=TRUE);
// this member function is called to switch, or swap a splitter
// view with another.
//
virtual BOOL SwitchView(int nRow, int nCol, CView *pNewView);
// this member function is called to replace an existing splitter
// view with another.
//
virtual BOOL ReplaceView(int nRow, int nCol, CRuntimeClass *pViewClass);
// this member function is called to show the column that was
// previously hidden.
//
virtual void ShowColumn();
// this member function will hide a column based upon its index.
//
virtual void HideColumn(int nColHide);
// this member function is called to show the row that was
// previously hidden.
//
virtual void ShowRow();
// this member function will hide a row based upon its index.
//
virtual void HideRow(int nRowHide);
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CCJFlatSplitterWnd)
virtual void OnDrawSplitter(CDC* pDC, ESplitType nType, const CRect& rect);
//}}AFX_VIRTUAL
// Generated message map functions
protected:
//{{AFX_MSG(CCJFlatSplitterWnd)
afx_msg void OnPaint();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
inline void CCJFlatSplitterWnd::DisableFlatStyle(BOOL bDisable)
{ m_bFlatSplitter = !bDisable; }
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
#endif // __CJFLATSPLITTERWND_H__