extoolbar.cpp

来自「编程实例」· C++ 代码 · 共 68 行

CPP
68
字号
// ExToolBar.cpp : implementation file
//

#include "stdafx.h"
#include "myUI.h"
#include "ExToolBar.h"

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

/////////////////////////////////////////////////////////////////////////////
// CExToolBar

CExToolBar::CExToolBar()
{
}

CExToolBar::~CExToolBar()
{
}

BEGIN_MESSAGE_MAP(CExToolBar, CToolBar)
	//{{AFX_MSG_MAP(CExToolBar)
	ON_CBN_SELCHANGE(IDR_TEST_COMBOBOX, OnSelCHangedCmbTest)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CExToolBar message handlers
BOOL CExToolBar::Create(CWnd *pParentWnd, DWORD dwStyle, UINT nID)
{
	//创建工具栏并装载资源
	if(!CToolBar::Create(pParentWnd, dwStyle, nID) || !LoadToolBar(IDR_TEST))
	{
		return FALSE;
	}
	//将预先设置好的占位符扩大
	SetButtonInfo(0,IDR_TEST_COMBOBOX,TBBS_SEPARATOR,100);
	//获取目标的位置
	CRect rect;
	GetItemRect(0, &rect);
	
	//增加矩形的高度
	rect.bottom += 100;

	//创建组合框
	m_cmbTest.Create(WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_DROPDOWNLIST, 
		rect, this, IDR_TEST_COMBOBOX);
	
	m_cmbTest.AddString("Audio");
	m_cmbTest.AddString("Book");

	SetHeight(24);
	
	return TRUE;
}

void CExToolBar::OnSelCHangedCmbTest()
{
	//将CBN_SELCHANGE消息转换为WM_COMMAND
	//同时,将组合框HWND转化为LPARAM
	AfxGetMainWnd()->PostMessage(WM_COMMAND, MAKEWPARAM(IDR_TEST_COMBOBOX, 0), 
		reinterpret_cast<LPARAM>(m_cmbTest.GetSafeHwnd()));
}

⌨️ 快捷键说明

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