// Базовые классы для диалога и присоединяемой панели
// внутри которой этот диалог используется.

#pragma once
#include "resource.h"   // не используется в этом файле, зато используется во всех наследниках

class CDocPaneDlgViewBase : public CPaneDialog
{
		DECLARE_DYNAMIC(CDocPaneDlgViewBase)

		CFont           m_hFont;
		CMFCToolTipCtrl m_ToolTip;

	public:
		struct ToolTipList_t
		{
			UINT nBtnID{ 0 };
			UINT nToolTipID{ 0 };
		};

		CDocPaneDlgViewBase();
		virtual ~CDocPaneDlgViewBase() override;

	protected:
		void            CorrectHeight();
		void            SetupToolTips(std::span<ToolTipList_t> tt);
		virtual void    AdjustLayout() override;
		virtual void    OnAfterFloat() override;
		virtual void    OnAfterDockFromMiniFrame() override;
		virtual BOOL    OnShowControlBarMenu(CPoint pt) override;
		virtual BOOL    PreTranslateMessage(MSG *pMsg) override;
		virtual BOOL    PreCreateWindow(CREATESTRUCT &cs) override;
		afx_msg LRESULT HandleInitDialog(WPARAM wp, LPARAM lp);
		afx_msg BOOL    OnEraseBkgnd(CDC *pDC);
		afx_msg HBRUSH  OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor);
		DECLARE_MESSAGE_MAP()
};

