解决方案
CDockablePane的创建函数如下:
virtual BOOL Create(
LPCTSTR lpszCaption,
CWnd* pParentWnd,
const RECT& rect,
BOOL bHasGripper,
UINT nID,
DWORD dwStyle,
DWORD dwTabbedStyle = AFX_CBRS_REGULAR_TABS,
DWORD dwControlBarStyle = AFX_DEFAULT_DOCKING_PANE_STYLE,
CCreateContext* pContext = NULL);
而其中的DWORD dwControlBarStyle就有很大作用,dwControlBarStyle默认值为AFX_DEFAULT_DOCKING_PANE_STYLE,即
static const DWORD AFX_DEFAULT_DOCKING_PANE_STYLE = AFX_CBRS_FLOAT | AFX_CBRS_CLOSE | AFX_CBRS_RESIZE | AFX_CBRS_AUTOHIDE;
你可以修改这个值,你想要哪个功能就用哪个。禁止移动就不要AFX_CBRS_FLOAT ,改变大小就不要AFX_CBRS_RESIZE 如,只带关闭的CDockablePane:
m_ControllerInput.Create(
strName,
this,
CRect(0, 0, 200, 200),
TRUE,
ID_VIEW_CONTROLLERINPUT,
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI,
AFX_CBRS_REGULAR_TABS,
AFX_CBRS_CLOSE);