⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 combotoolbar.cpp

📁 《突破Visual C++.NET编程实例五十讲+源文件,初学者学习的好东东!
💻 CPP
字号:
// ComboToolBar.cpp: CComboToolBar class类的实现.
//


#include "stdafx.h"
#include "Xx.h"
#include "ComboToolBar.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

#define dxAdditional 64
#define dxSeparator 8


// 构造/销毁


BEGIN_MESSAGE_MAP(CComboToolBar, CToolBar)
	//{{AFX_MSG_MAP(CComboToolBar)
	ON_WM_CREATE()
	ON_WM_SIZE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


CComboToolBar::CComboToolBar(UINT nIDButton)
{
	m_nIDButton = nIDButton;
}

CComboToolBar::~CComboToolBar()
{

}

int CComboToolBar::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CToolBar::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	m_combo.Create(_T("MultiColumnComboBox"), _T(""), WS_CHILD | WS_VISIBLE, CRect(0,0,0,0), this, NULL);

	return 0;
}

void CComboToolBar::InitCombo()
{
	
	int nIndex  = CommandToIndex(m_nIDButton);
	if (nIndex >= 0)
	{
		CRect rect; 
		 GetItemRect(nIndex, &rect);
		m_combo.MoveWindow(rect.right + dxSeparator, rect.top, rect.Width() + dxAdditional, rect.Height());
	}
}

void CComboToolBar::OnSize(UINT nType, int cx, int cy) 
{
	CToolBar::OnSize(nType, cx, cy);
	
	InitCombo();
	
}
 
CSize CComboToolBar::CalcDynamicLayout( int nLength, DWORD dwMode )
{
	CSize rSize = CToolBar::CalcDynamicLayout(nLength, dwMode );
	rSize.cx += dxAdditional + 4 * dxSeparator;
	return rSize;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -