从CControlBar 派生的一个类:
程序运行正常,就是看不到自定义的控制栏
晴帮我看看错在哪里?谢谢
下面是源代码:
class CPaletteBar : public CControlBar
{
// Constructor
public:
CSize m_sizeDefault;
public:
CPaletteBar();
BOOL Create(CWnd* pParentWnd,
DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_TOP,
UINT nID = AFX_IDW_TOOLBAR);
virtual ~CPaletteBar();
virtual CSize CalcFixedLayout(BOOL bStretch, BOOL bHorz);
virtual void OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHndler);
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
DECLARE_MESSAGE_MAP()
};/////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////
#include "stdafx.h"
#include "ctrlbars.h"#include "palette.h"#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endifBEGIN_MESSAGE_MAP(CPaletteBar, CControlBar)
//{{AFX_MSG_MAP(CPaletteBar)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()CPaletteBar::CPaletteBar(){
m_cxLeftBorder = 5;
m_cyTopBorder = 5;
m_cxRightBorder = 5;
m_cyBottomBorder = 5;
m_sizeDefault.cx=100;
m_sizeDefault.cy=100;
}CPaletteBar::~CPaletteBar(){
}BOOL CPaletteBar::Create(CWnd* pParentWnd, DWORD dwStyle, UINT nID){

ASSERT_VALID(pParentWnd);   // must have a parent
ASSERT (!((dwStyle & CBRS_SIZE_FIXED) && (dwStyle & CBRS_SIZE_DYNAMIC)));

dwStyle |= CCS_NOPARENTALIGN|CCS_NODIVIDER; CRect rcBorder(m_cxLeftBorder,m_cyTopBorder,m_cxRightBorder,m_cyBottomBorder);
if (!CWnd::Create(_T("STATIC"), NULL, dwStyle, rcBorder, pParentWnd, nID))
return FALSE;
return TRUE;
}
CSize CPaletteBar::CalcFixedLayout(BOOL bStretch, BOOL bHorz)
{
if (bStretch) // if not docked stretch to fit
return CSize(bHorz ? 32767 : m_sizeDefault.cx,
bHorz ? m_sizeDefault.cy : 32767);
else
return m_sizeDefault;
}
#ifdef _DEBUG
void CPaletteBar::AssertValid() const
{
CControlBar::AssertValid();
}void CPaletteBar::Dump(CDumpContext& dc) const
{
CControlBarBar::Dump(dc);
}
#endif //_DEBUG
void CPaletteBar::OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHndler){}