94 lines
2.7 KiB
C++
94 lines
2.7 KiB
C++
#ifndef __FRMBASE_HPP__
|
|
#define __FRMBASE_HPP__
|
|
|
|
/****************************************/
|
|
#ifndef CPA_EXPORT
|
|
#if defined(CPA_WANTS_IMPORT)
|
|
#define CPA_EXPORT __declspec(dllimport)
|
|
#elif defined(CPA_WANTS_EXPORT)
|
|
#define CPA_EXPORT __declspec(dllexport)
|
|
#else
|
|
#define CPA_EXPORT
|
|
#endif
|
|
#endif
|
|
/****************************************/
|
|
|
|
#ifdef ACTIVE_EDITOR
|
|
|
|
/* To associate another view to a frame*/
|
|
#define M_FRMAssociateView(pFrame, CClassView)\
|
|
{\
|
|
CCreateContext creat;\
|
|
CClassView *pView;\
|
|
creat.m_pNewViewClass = RUNTIME_CLASS(CClassView);\
|
|
creat.m_pCurrentDoc = M_GetMainWnd()->GetActiveView()->GetDocument();\
|
|
pView = (CClassView *) ((pFrame)->CreateView(&creat));\
|
|
pView->ShowWindow(TRUE);\
|
|
(pFrame)->SetActiveView(pView, TRUE);\
|
|
}
|
|
|
|
class CPA_MainWorld;
|
|
|
|
/* Types of sizing*/
|
|
#define FRM_C_MoveLeft 0x01
|
|
#define FRM_C_MoveRight 0x02
|
|
#define FRM_C_MoveTop 0x04
|
|
#define FRM_C_MoveBottom 0x08
|
|
|
|
/* A link to another window*/
|
|
class FRMBase;
|
|
typedef struct tdstFRMLink_
|
|
{
|
|
char cLinkSame;
|
|
} tdstFRMLink;
|
|
|
|
/* Base class of a window*/
|
|
class CPA_EXPORT FRMBase : public CFrameWnd
|
|
{
|
|
|
|
public:
|
|
CPA_MainWorld *m_p_oMainWorld;
|
|
BOOL m_bAlreadySize; /* For recursive sizing*/
|
|
unsigned int m_uiHitTest;
|
|
char m_cLock; /* Can be size in a given direction*/
|
|
CRect m_oLastPos; /* Last position for refresh*/
|
|
CRect m_oCurPos;
|
|
CRect m_oMainPos;
|
|
|
|
public:
|
|
tdstFRMLink m_stWinTop; /* Links with other windows*/
|
|
tdstFRMLink m_stWinBottom;
|
|
tdstFRMLink m_stWinLeft;
|
|
tdstFRMLink m_stWinRight;
|
|
int m_iCol, m_iRow; /* Type of window*/
|
|
BOOL m_bKeepPos; /* We want to keep last position*/
|
|
int m_iInitWidth; /* First width and height*/
|
|
int m_iInitHeight;
|
|
DWORD m_dwCaptionStyle; /* Style of caption of window*/
|
|
|
|
public:
|
|
FRMBase(void);
|
|
DECLARE_DYNCREATE(FRMBase)
|
|
|
|
virtual BOOL CreateBase(LPCTSTR, int, int, CPA_MainWorld*, CCreateContext *pContext = NULL);
|
|
void mfn_vEnableCaption(BOOL);
|
|
CPA_MainWorld* GetMainWorld() { return m_p_oMainWorld; }
|
|
virtual void fn_vOnActivate(void) {};
|
|
void mfn_vComputeWidthWindow(int);
|
|
void mfn_vWidthWindow(int);
|
|
void mfn_vComputeHeightWindow(int);
|
|
void mfn_vHeightWindow(int);
|
|
|
|
protected:
|
|
afx_msg void OnNcLButtonDown(UINT, CPoint);
|
|
afx_msg UINT OnNcHitTest(CPoint);
|
|
afx_msg void OnSize(UINT, int, int);
|
|
afx_msg void OnInitMenu(CMenu *);
|
|
afx_msg void OnGetMinMaxInfo(MINMAXINFO FAR *);
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
#endif /* ACTIVE_EDITOR*/
|
|
|
|
#endif /* __FRMBASE_HPP__*/
|