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

📄 mylistbox.cpp

📁 最新visualC++编程200例书籍源码包括对数据库的操作
💻 CPP
字号:
// MyListBox.cpp : implementation file
//

#include "stdafx.h"
#include "ControlPanel.h"
#include "ControlPanelDlg.h"
#include "MyListBox.h"

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

/////////////////////////////////////////////////////////////////////////////
// CMyListBox

CMyListBox::CMyListBox()
{
	// Pop up menu
	mymenu.CreatePopupMenu();
	mymenu.AppendMenu(MF_STRING, ID_F_OPEN, "Open");
	mymenu.AppendMenu(MF_STRING, ID_F_DELETE, "Delete");
	mymenu.AppendMenu(MF_SEPARATOR, (UINT)0, (LPCTSTR)NULL);
	mymenu.AppendMenu(MF_STRING, ID_ABOUT, "About...");

}

CMyListBox::~CMyListBox()
{
}


BEGIN_MESSAGE_MAP(CMyListBox, CListBox)
	//{{AFX_MSG_MAP(CMyListBox)
	ON_WM_RBUTTONDOWN()
	ON_WM_CONTEXTMENU()
	ON_COMMAND(ID_F_OPEN, OnFOpen)
	ON_COMMAND(ID_F_DELETE, OnFDelete)
	ON_COMMAND(ID_ABOUT, OnAbout)
	ON_WM_LBUTTONDOWN()
	ON_WM_MOUSEMOVE()
	ON_WM_CTLCOLOR_REFLECT()
	ON_WM_CTLCOLOR()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMyListBox message handlers

void CMyListBox::OnRButtonDown(UINT nFlags, CPoint point) 
{
	BOOL out;
	UINT index;

	index = ItemFromPoint(point, out);

	if(out == FALSE)
	{
		SetCurSel(index);

		CControlPanelDlg *pDlg = (CControlPanelDlg *)AfxGetMainWnd();
		pDlg->CallSelChange();
	}


	CListBox::OnRButtonDown(nFlags, point);
}



void CMyListBox::OnContextMenu(CWnd* pWnd, CPoint point) 
{
	mymenu.TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this, NULL);
}

void CMyListBox::OnFOpen() 
{
	CControlPanelDlg *pDlg = (CControlPanelDlg *)AfxGetMainWnd();
	pDlg->CallOpen();
}

void CMyListBox::OnFDelete() 
{
	if(MessageBox("Are you sure you want to delete this applet?", "Confirm", MB_YESNO|MB_ICONQUESTION) == IDNO)
		return;

	CControlPanelDlg *pDlg = (CControlPanelDlg *)AfxGetMainWnd();
	pDlg->CallDelete();
	
}

void CMyListBox::OnAbout() 
{
	CDialog ad(IDD_ABOUTBOX);
	ad.DoModal();
}

void CMyListBox::OnLButtonDown(UINT nFlags, CPoint point) 
{
	CListBox::OnLButtonDown(nFlags, point);
}

void CMyListBox::OnMouseMove(UINT nFlags, CPoint point) 
{
	CListBox::OnMouseMove(nFlags, point);

//	BOOL out;
//	UINT index;
//
//	index = ItemFromPoint(point, out);
//
//	if(out == FALSE)
//	{
//		SetCurSel(index);
//
//		CControlPanelDlg *pDlg = (CControlPanelDlg *)AfxGetMainWnd();
//		pDlg->CallSelChange();
//	}
}

HBRUSH CMyListBox::CtlColor(CDC* pDC, UINT nCtlColor) 
{
	return NULL;
}

HBRUSH CMyListBox::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CListBox::OnCtlColor(pDC, pWnd, nCtlColor);

	return hbr;
}

⌨️ 快捷键说明

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