VC里的project panel窗口如何实现(转载)
2011-05-05 10:38
302 查看
VC里的project panel窗口如何实现
#include "stdafx.h"
#include "palette.h"
class CPaletteBar : public CToolBar
{
public:
CPaletteBar();
void SetColumns(UINT nColumns);
UINT GetColumns() { return m_nColumns; };
virtual ~CPaletteBar();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
UINT m_nColumns;
// Generated message map functions
protected:
//{{AFX_MSG(CPaletteBar)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
// CPaletteBar
BEGIN_MESSAGE_MAP(CPaletteBar, CToolBar)
//{{AFX_MSG_MAP(CPaletteBar)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPaletteBar construction/destruction
CPaletteBar::CPaletteBar()
{
m_nColumns = 2;
m_cxLeftBorder = 5;
m_cxRightBorder = 5;
m_cyTopBorder = 5;
m_cyBottomBorder = 5;
}
CPaletteBar::~CPaletteBar()
{
}
/////////////////////////////////////////////////////////////////////////////
// CPaletteBar diagnostics
#ifdef _DEBUG
void CPaletteBar::AssertValid() const
{
CToolBar::AssertValid();
}
void CPaletteBar::Dump(CDumpContext& dc) const
{
CToolBar::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CPaletteBar message handlers
void CPaletteBar::SetColumns(UINT nColumns)
{
m_nColumns = nColumns;
int nCount = GetToolBarCtrl().GetButtonCount();
for(int i = 0; i < nCount; i++)
{
UINT nStyle = GetButtonStyle(i);
BOOL bWrap = (((i + 1) % nColumns) == 0);
if (bWrap)
nStyle |= TBBS_WRAPPED;
else
nStyle &= ~TBBS_WRAPPED;
SetButtonStyle(i, nStyle);
}
Invalidate();
GetParentFrame()->RecalcLayout();
}
#include "stdafx.h"
#include "palette.h"
class CPaletteBar : public CToolBar
{
public:
CPaletteBar();
void SetColumns(UINT nColumns);
UINT GetColumns() { return m_nColumns; };
virtual ~CPaletteBar();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
UINT m_nColumns;
// Generated message map functions
protected:
//{{AFX_MSG(CPaletteBar)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
// CPaletteBar
BEGIN_MESSAGE_MAP(CPaletteBar, CToolBar)
//{{AFX_MSG_MAP(CPaletteBar)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPaletteBar construction/destruction
CPaletteBar::CPaletteBar()
{
m_nColumns = 2;
m_cxLeftBorder = 5;
m_cxRightBorder = 5;
m_cyTopBorder = 5;
m_cyBottomBorder = 5;
}
CPaletteBar::~CPaletteBar()
{
}
/////////////////////////////////////////////////////////////////////////////
// CPaletteBar diagnostics
#ifdef _DEBUG
void CPaletteBar::AssertValid() const
{
CToolBar::AssertValid();
}
void CPaletteBar::Dump(CDumpContext& dc) const
{
CToolBar::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CPaletteBar message handlers
void CPaletteBar::SetColumns(UINT nColumns)
{
m_nColumns = nColumns;
int nCount = GetToolBarCtrl().GetButtonCount();
for(int i = 0; i < nCount; i++)
{
UINT nStyle = GetButtonStyle(i);
BOOL bWrap = (((i + 1) % nColumns) == 0);
if (bWrap)
nStyle |= TBBS_WRAPPED;
else
nStyle &= ~TBBS_WRAPPED;
SetButtonStyle(i, nStyle);
}
Invalidate();
GetParentFrame()->RecalcLayout();
}
相关文章推荐
- VC如何实现透明窗口
- VC 实现无标题窗口的拖拽(转载)
- VC如何实现透明窗口
- (转载)c++builder/delphi中透明panel及透明窗口的实现方法_delphi教程
- VC中如何实现窗口的隐藏
- vc-如何实现窗口比例缩放
- 如何实现在浏览器中打开IM聊天窗口? --转载
- 转:VC:如何根据文件名来获取程序进程和窗口句柄的代码(转载)
- 晒晒C++:虚函数的真相(VC编译器如何实现“virtual ”规则)(转载的非原创)
- (收藏)VC 实现无标题窗口的拖拽
- 〖原创〗如何实现程序自动关闭powerbuilder弹出的消息窗口?
- VC如何用代码实现选中某一行并高亮
- VC对话框如何检测鼠标离开窗体的事件?(转载自CSDN) 2010-12-2 12:06
- 用VC++实现应用程序窗口的任意分割(1)
- 如何实现窗口阴影效果 (SysShadow、分层窗口、DWM)
- VC中模态窗口启动就隐藏界面的实现
- vc实现图片的数据库储存(转载)
- 转载---VC防止窗口和控件闪烁的方法
- 如何使用Stm32CubeMX和LL库实现窗口看门狗
- ATL学习实践(VC8)-用CWindowImpl实现窗口