taskpane.cpp

来自「RFID读卡器源码,vc.net编写,bcgp界面控件」· C++ 代码 · 共 182 行

CPP
182
字号
// TaskPane.cpp : implementation of the CTaskPane class
//

#include "stdafx.h"
#include "TaskPane.h"
#include "Resource.h"

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

/////////////////////////////////////////////////////////////////////////////
// CTaskPane

BEGIN_MESSAGE_MAP(CTaskPane, CBCGPTasksPane)
	//{{AFX_MSG_MAP(CTaskPane)
	ON_WM_CREATE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTaskPane construction/destruction

CTaskPane::CTaskPane()
{
	m_nDocumentsGroup = -1;

	m_nUserColorGroup = -1;
	m_nUserColorTask = -1;
	// TODO: add one-time construction code here

}

CTaskPane::~CTaskPane()
{
}

/////////////////////////////////////////////////////////////////////////////
// CTaskPane message handlers

int CTaskPane::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CBCGPTasksPane::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	SetCaption (_T("操作任务栏"));
	SetIconsList (IDB_TASKS, 16);

	EnableNavigationToolbar (TRUE);

	EnableWrapLabels (TRUE);
	EnableOffsetCustomControls (FALSE);

	m_nDocumentsGroup = AddGroup (_T("数据库操作..."), FALSE, TRUE);

	// Add MRU list:
	AddMRUFilesList (m_nDocumentsGroup);
	AddTask (m_nDocumentsGroup, _T("连接数据库"), 0, ID_DB_CONNECT);
	AddTask (m_nDocumentsGroup, _T("断开数据库连接"), 1, ID_DB_DISCONNECT);
	AddSeparator (m_nDocumentsGroup);

	AddTask (m_nDocumentsGroup, _T("数据库设置..."), 2, ID_DB_SETTING);

	int nPage1Gr1 = AddGroup (_T("Reader操作..."));
	m_nUserColorGroup = nPage1Gr1;

	AddTask (nPage1Gr1, _T("连接"), 1, ID_COMM_CONNECT);
	m_nUserColorTask = AddTask (nPage1Gr1, _T("断开连接"), 2, ID_COMM_DISCONNECT);
	AddSeparator (nPage1Gr1);
	AddTask (nPage1Gr1, _T("串口设置..."), 3, ID_COMM_SETTING);


	int nPage1Gr2 = AddGroup (_T("RFID操作..."));
	m_nUserColorGroup = nPage1Gr2;

	AddTask (nPage1Gr2, _T("关联设备-RFID"), 1, ID_RFID_ASSOCIATE);
	m_nUserColorTask = AddTask (nPage1Gr2, _T("取消关联"), 2, ID_RFID_DEASSOCIATE);
	AddSeparator (nPage1Gr2);
	AddTask (nPage1Gr2, _T("作废卡"), 3, ID_RFID_CANCLE);
	AddTask (nPage1Gr2, _T("替换卡"), 4, ID_RFID_REPLACE);
	//AddTask (nPage1Gr2, _T("Long task's name to see words wrap feature"), 6, ID_TASK6);

	int nPage1Gr3 = AddGroup (_T("详细..."));
	AddLabel (nPage1Gr3, _T("请认真阅读说明,按照提示进行操作 \n\n"));

	/*
	// Add second page:
	int nPage2 = AddPage (_T("Custom page"));

	int nPage2Gr1 = AddGroup (nPage2, _T("Tree Control"));

	if (!CreateTreeControl())
	{
		TRACE0("Failed to create the custom window\n");
		return -1;      // fail to create
	}

	const int nControlHeight = 65;

	AddWindow (nPage2Gr1, m_wndTree.GetSafeHwnd (), nControlHeight);
	AddTask (nPage2Gr1, _T("My favorites..."), 9, ID_TASK9);

	int nPage2Gr2 = AddGroup (nPage2, _T("Edit Control"));

	if (!CreateEditControl())
	{
		TRACE0("Failed to create the custom window\n");
		return -1;      // fail to create
	}

	AddWindow (nPage2Gr2, m_wndEdit.GetSafeHwnd (), nControlHeight);
	*/

	// Create tasks pane windows.
	// TODO: create your own tasks panes here:

	return 0;
}

void CTaskPane::UpdateMRUFilesList ()
{
	AddMRUFilesList (m_nDocumentsGroup);
	RedrawWindow ();
}

void CTaskPane::UpdateToolbar ()
{
	m_wndToolBar.RedrawWindow ();
}

BOOL CTaskPane::CreateTreeControl()
{
	CRect rectDummy (0, 0, 0, 0);
	const DWORD dwTreeStyle =	WS_CHILD | WS_VISIBLE | TVS_HASLINES | 
								TVS_LINESATROOT | TVS_HASBUTTONS;

	if(!m_wndTree.Create (dwTreeStyle, rectDummy, this, (UINT)-1))
	{
		TRACE0("Failed to create the custom window\n");
		return FALSE;
	}

	m_wndTree.ModifyStyleEx (0, WS_EX_CLIENTEDGE);

	HTREEITEM hRoot = m_wndTree.InsertItem (_T("Folders"));

	m_wndTree.InsertItem (_T("Folder 1"), hRoot);
	m_wndTree.InsertItem (_T("Folder 2"), hRoot);
	m_wndTree.InsertItem (_T("Folder 3"), hRoot);
	m_wndTree.InsertItem (_T("Folder 4"), hRoot);

	m_wndTree.Expand (hRoot, TVE_EXPAND);

	m_wndTree.RedrawWindow ();
	return TRUE;
}

BOOL CTaskPane::CreateEditControl()
{
	CRect rectDummy (0, 0, 0, 0);
	DWORD dwEditStyle = WS_CHILD | WS_VISIBLE |
		ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_MULTILINE;

	m_Font.CreateStockObject (DEFAULT_GUI_FONT);

	if (!m_wndEdit.Create (dwEditStyle, rectDummy, this, (UINT)-1))
	{
		TRACE0("Failed to create the edit window\n");
		return FALSE;
	}

	m_wndEdit.ModifyStyleEx (0, WS_EX_CLIENTEDGE);

	m_wndEdit.SetFont (&m_Font);
	m_wndEdit.SetWindowText(
		_T("This is the standard multiline Edit Box.\r\nHere you can type your text."));

	return TRUE;
}

⌨️ 快捷键说明

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