2025-11-27 16:46:48 +09:00

144 lines
4.2 KiB
C++

// ==========================================================================
// Class Specification : COXSplitterColRowState
// ==========================================================================
// Header file : OXSplitterColRowState.h
// Version: 9.3
// //////////////////////////////////////////////////////////////////////////
// Properties:
// NO Abstract class (does not have any objects)
// YES Derived from CObject
// NO Is a Cwnd.
// NO Two stage creation (constructor & Create())
// NO Has a message map
// NO Needs a resource (template)
// NO Persistent objects (saveable on disk)
// NO Uses exceptions
// //////////////////////////////////////////////////////////////////////////
// Desciption :
// This class represents the state of one row or column of the splitter window
// Remark:
// Prerequisites (necessary conditions):
/////////////////////////////////////////////////////////////////////////////
#if (_MFC_VER < 0x0420)
// This file uses classes that were introduced in MFC Version 4.2
// These classes are now officially documented by Microsoft, but did not exist in previous versions
// Therefore this file will be completely excluded for older versions of MFC
#pragma message("Warning : OXSplitterColRowState.h not included because MFC Version < 4.2")
#else
// The entire file
#ifndef __OXSPLITTERCOLROWSTATE_H__
#define __OXSPLITTERCOLROWSTATE_H__
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include "OXDllExt.h"
class OX_CLASS_DECL COXSplitterColRowState : public CObject
{
DECLARE_SERIAL(COXSplitterColRowState);
// Data members -------------------------------------------------------------
public:
// ... Schema version of this class used in serialization
static const int m_nSerializeSchemaVersion;
protected:
BOOL m_bRow;
int m_nColRowIndex;
int m_nIdealSize;
int m_nMinSize;
int m_nSerializeSchemaVersionLoad;
private:
// Member functions ---------------------------------------------------------
public:
COXSplitterColRowState();
// --- In :
// --- Out :
// --- Returns :
// --- Effect : Constructs the object
BOOL ComputeProperties(CSplitterWnd* pSplitterWnd, int nColRowIndex, BOOL bRow);
// --- In : pSplitterWnd : The splitter window to use
// nColRowIndex : The index of the row (or column)
// bRow : Whether this is a row or column
// --- Out :
// --- Returns : Whether it succeeded or not
// --- Effect : Computes the state of the splitter row or column
// and stores it into this object
BOOL ApplyProperties(CSplitterWnd* pSplitterWnd) const;
// --- In : pSplitterWnd : The splitter window to use
// --- Out :
// --- Returns : Whether it succeeded or not
// --- Effect : Applies the properties of this object to the specified splitter window
virtual void Serialize(CArchive& ar);
// --- In : ar : Archive used in serialization
// --- Out :
// --- Returns :
// --- Effect : Serializes the object
#ifdef _DEBUG
virtual void AssertValid() const;
// --- In :
// --- Out :
// --- Returns :
// --- Effect : AssertValid performs a validity check on this object
// by checking its internal state.
// In the Debug version of the library, AssertValid may assert and
// thus terminate the program.
virtual void Dump(CDumpContext& dc) const;
// --- In : dc : The diagnostic dump context for dumping, usually afxDump.
// --- Out :
// --- Returns :
// --- Effect : Dumps the contents of the object to a CDumpContext object.
// It provides diagnostic services for yourself and
// other users of your class.
// Note The Dump function does not print a newline character
// at the end of its output.
#endif
virtual ~COXSplitterColRowState();
// --- In :
// --- Out :
// --- Returns :
// --- Effect : Destructor of the object
protected:
void Initialize();
void StoreProperties(CArchive& ar);
void LoadProperties(CArchive& ar);
private:
};
OX_API_DECL void AFXAPI SerializeElements(CArchive& ar,
COXSplitterColRowState* pSplitterColRowState,
int nCount);
#endif // __OXSPLITTERCOLROWSTATE_H__
#endif // _MFC_VER
// ==========================================================================