现在问题是对CBCGPDockingControlBar的使用不熟悉。在网上查了一下,资料特别少。只查到下面这一篇文章。
http://topic.csdn.net/t/20050223/23/3801875.html
里面说:
添加视图之后在获得/失去焦点和视图激活,以及键盘解析、菜单命令处理等等时候都有问题,不是几行代码可以解决的。
BCGControlBar的原始代码来自于CSizingControlBar;其作者的建议是不使用视图,参见
我按照提供的方式,做了尝试。视图是出来了,但是位置,大小都不对。而且还不能相应。
//ScriptViewBar.h
class CScriptViewBar : public CBCGPDockingControlBar
{
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
CScriptView* m_pScriptView;
}
//ScriptViewBar.cpp
int CScriptViewBar::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CBCGPDockingControlBar::OnCreate(lpCreateStruct) == -1)
return -1;
// Create view:
if (m_pScriptView )
{
m_pScriptView->CreateView(this, m_pContext);
}
return 0;
}
//ScriptView.h
class AFX_EXT_CLASS CScriptView : public CRichEditView
{
protected:
BOOL CreateView(CWnd* pParent, CCreateContext* pContext);
}
//ScriptView.cpp
BOOL CScriptView::CreateView(CWnd* pParent, CCreateContext* pContext)
{
DWORD dwStyle = AFX_WS_DEFAULT_VIEW;
dwStyle &= ~WS_BORDER;
dwStyle &=WS_CLIPSIBLINGS ;
// Create with the right size
CRect rect;
pParent->GetClientRect(rect);
if (!Create(NULL, NULL, dwStyle,rect, pParent, AFX_IDW_PANE_FIRST, pContext))
{
TRACE0("Warning: couldn't create treeview pane!. \n");
return FALSE;
}
return TRUE;
}
有没有高人做过类似的东西,提供一个思路或者解决方法。如果有Demo就最好了,我的邮箱huayehanshan@sina.com.cn。
我这贴只能提供100分,如果能解决问题,我再开个帖子,另外百分答谢。
顶者有分!!期待高人!!!!