class MFCClass : public CPane
{
DECLARE_DYNAMIC(MFCClass)
public:
MFCClass();
virtual ~MFCClass();
virtual BOOL IsResizable() const { return TRUE; }
virtual BOOL CanFloat() const { return FALSE; }
virtual CSize CalcFixedLayout(BOOL bStretch, BOOL bHorz);
protected:
DECLARE_MESSAGE_MAP()
public:
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
};
IMPLEMENT_DYNAMIC(MFCClass, CPane)
MFCClass::MFCClass()
{
}
MFCClass::~MFCClass()
{
}
BEGIN_MESSAGE_MAP(MFCClass, CPane)
ON_WM_CREATE()
END_MESSAGE_MAP()
// MFCClass 消息处理程序
CSize MFCClass::CalcFixedLayout(BOOL bStretch, BOOL bHorz)
{
RecalcLayout();
return CSize(200, 32);
}
int MFCClass::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CPane::OnCreate(lpCreateStruct) == -1)
return -1;
SetWindowText(_T("我的窗口"));
return 0;
}
在主窗口框架的WM_CREATE中
if (!m_mfcclass.Create(NULL, WS_CHILD | WS_VISIBLE, CRect(0, 0, 0, 0), this, 9000))
{
TRACE0("未能窗口\n");
return -1; // 未能创建
}
m_mfcclass.SetPaneAlignment(CBRS_ALIGN_LEFT);
m_mfcclass.AddPane(&m_mfcclass);