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

📄 listboxdlg.cpp

📁 这些源代码
💻 CPP
字号:
// ListBoxDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Controls.h"
#include "ListBoxDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CListBoxDlg property page

IMPLEMENT_DYNCREATE(CListBoxDlg, CPropertyPage)

CListBoxDlg::CListBoxDlg() : CPropertyPage(CListBoxDlg::IDD)
{
	//{{AFX_DATA_INIT(CListBoxDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	m_psp.dwFlags &= ~PSP_HASHELP;
}

CListBoxDlg::~CListBoxDlg()
{
}

void CListBoxDlg::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CListBoxDlg)
	DDX_Control(pDX, IDC_LISTBOXTABS, m_ListBoxTabs);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CListBoxDlg, CPropertyPage)
	//{{AFX_MSG_MAP(CListBoxDlg)
	ON_NOTIFY(TCN_SELCHANGE, IDC_LISTBOXTABS, OnSelchangeListboxtabs)
	ON_NOTIFY(TCN_SELCHANGING, IDC_LISTBOXTABS, OnSelchangingListboxtabs)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CListBoxDlg message handlers

BOOL CListBoxDlg::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();

	m_BasicPage.Create(IDD_TABPAGE_LISTBOXBASIC, GetDlgItem (IDC_LISTBOXTABS));
	m_CheckDragPage.Create(IDD_TABPAGE_CHECKDRAGBOX, GetDlgItem (IDC_LISTBOXTABS));

	TC_ITEM TabItem;
	TabItem.mask = TCIF_TEXT | TCIF_PARAM;
	TabItem.iImage = 0;

	TabItem.lParam = (long) &m_BasicPage;
	TabItem.pszText = _T("Basic List Box");
	m_ListBoxTabs.InsertItem (0, &TabItem);

	TabItem.lParam = (long) &m_CheckDragPage;
	TabItem.pszText = "Check and Drag Boxes";
	m_ListBoxTabs.InsertItem (1, &TabItem);

	CRect r, rc;
	m_ListBoxTabs.GetItemRect (0, &r);
	rc.top = r.bottom + 2;
	rc.left = r.left + 2;
	m_ListBoxTabs.GetClientRect (&r);
	rc.bottom = r.bottom - 2;// - rc.top - 2;		//	Subtract 1 to keep from
	rc.right = r.right - rc.left - 2;			//	covering up the tab frame

	m_BasicPage.MoveWindow (rc);
	m_CheckDragPage.MoveWindow (rc);

	m_BasicPage.ShowWindow (SW_NORMAL);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CListBoxDlg::OnSelchangeListboxtabs(NMHDR* pNMHDR, LRESULT* pResult) 
{
TC_ITEM		ti;
CWnd*		cDlg;
int			result;

	int sel = m_ListBoxTabs.GetCurSel();
	ti.mask = TCIF_PARAM | TCIF_IMAGE;
	result = m_ListBoxTabs.GetItem (sel, &ti);
	cDlg = (CWnd *) ti.lParam;
	if (cDlg)
		cDlg->ShowWindow (true);
	ti.mask = TCIF_IMAGE;
	ti.iImage += 1;
	m_ListBoxTabs.SetItem (sel, &ti);

	*pResult = 0;
}

void CListBoxDlg::OnSelchangingListboxtabs(NMHDR* pNMHDR, LRESULT* pResult) 
{
TC_ITEM		ti;
CWnd*		cDlg;
int			result;

	int sel = m_ListBoxTabs.GetCurSel();
	ti.mask = TCIF_PARAM | TCIF_IMAGE;
	result = m_ListBoxTabs.GetItem (sel, &ti);
	cDlg = (CWnd *) ti.lParam;
	if (cDlg)
		cDlg->ShowWindow (false);
	ti.mask = TCIF_IMAGE;
	ti.iImage -= 1;
	m_ListBoxTabs.SetItem (sel, &ti);

	*pResult = 0;
}

⌨️ 快捷键说明

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