dockmanager.h
来自「管理项目进度工具的原代码」· C头文件 代码 · 共 74 行
H
74 行
// DockManager.h: interface for the CDockManager class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_DOCKMANAGER_H__E0312E72_217B_4520_88F2_6708F4148F9D__INCLUDED_)
#define AFX_DOCKMANAGER_H__E0312E72_217B_4520_88F2_6708F4148F9D__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Subclass.h"
enum DM_POS
{
DMP_UNDOCKED = -1,
DMP_LEFT,
DMP_RIGHT,
DMP_BELOW,
};
class CDockManager : public CSubclassWnd, public CSubclasser
{
public:
CDockManager();
virtual ~CDockManager();
BOOL Initialize(CWnd* pMainWnd, CWnd* pDockWnd,
DM_POS nPos = DMP_UNDOCKED, DM_POS nLastPos = DMP_RIGHT,
int nWidthDocked = -1, int nWidthDockedMax = -1,
int nHeightDocked = -1, int nHeightDockedMax = -1);
BOOL Initialized() { return IsHooked(); }
BOOL Dock(DM_POS nPos);
BOOL UnDock();
inline DM_POS GetDockPos() { return m_nDockPos; }
inline DM_POS GetLastDockPos() { return IsDocked() ? m_nDockPos : m_nLastDockPos; }
inline BOOL IsDocked() { return m_nDockPos != DMP_UNDOCKED; }
CRect GetUnDockedRect();
int GetDockedWidth(BOOL bMaximized) { return bMaximized ? m_nWidthDockedMax : m_nWidthDocked; }
int GetDockedHeight(BOOL bMaximized) { return bMaximized ? m_nHeightDockedMax : m_nHeightDocked; }
inline BOOL Maximized() { return ::IsZoomed(GetHwnd()); }
protected:
DM_POS m_nDockPos, m_nLastDockPos;
CRect m_rUndocked;
int m_nWidthDocked, m_nWidthDockedMax;
int m_nHeightDocked, m_nHeightDockedMax;
CSize m_sizeMainMin, m_sizeDockMin;
BOOL m_bResizeUpdate;
BOOL m_bSizeUpdate;
protected:
virtual LRESULT WindowProc(HWND hRealWnd, UINT msg, WPARAM wp, LPARAM lp); // main wnd
virtual LRESULT ScWindowProc(HWND hRealWnd, UINT msg, WPARAM wp, LPARAM lp); // dock wnd
virtual CSubclasser* GetTopSubclasser() { return this; }
void UpdateDockWindowPos(BOOL bJustRestored = FALSE);
void UpdateMainWindowPos();
CRect GetWorkArea(BOOL bMaximized = TRUE);
void MoveWindow(CWnd* pWnd, CRect rect);
CSize GetMinMaximizedSize();
// pseudo message handlers
void OnMaximize();
void OnRestore();
void OnMinMaxInfo(LPMINMAXINFO pMMI, BOOL bMain);
};
#endif // !defined(AFX_DOCKMANAGER_H__E0312E72_217B_4520_88F2_6708F4148F9D__INCLUDED_)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?