www.pudn.com > MFC 函数实用手册.rar > MyListBox.cpp


// MyListBox.cpp : 实现文件 
// 
 
#include "stdafx.h" 
#include "BackGroupListBox.h" 
#include "MyListBox.h" 
 
 
// MyListBox 
 
IMPLEMENT_DYNAMIC(MyListBox, CListBox) 
 
MyListBox::MyListBox() 
{ 
	m_brush.CreateStockObject(HOLLOW_BRUSH); 
} 
 
MyListBox::~MyListBox() 
{ 
} 
 
 
BEGIN_MESSAGE_MAP(MyListBox, CListBox) 
	ON_CONTROL_REFLECT(LBN_SELCHANGE, OnLbnSelchange) 
	ON_WM_CTLCOLOR_REFLECT() 
	ON_WM_ERASEBKGND() 
	ON_WM_LBUTTONDOWN() 
	ON_WM_VSCROLL() 
END_MESSAGE_MAP() 
 
 
 
// MyListBox 消息处理程序 
 
 
void MyListBox::OnLbnSelchange() 
{ 
	Invalidate(); 
	// TODO: 在此添加控件通知处理程序代码 
} 
 
HBRUSH MyListBox::CtlColor(CDC* pDC, UINT nCtlColor) 
{ 
	// TODO:  在此更改 DC 的任何属性 
 
	// TODO:  如果不应调用父级的处理程序,则返回非空画笔 
	pDC->SetBkMode(TRANSPARENT); 
	pDC->SetTextColor(RGB(255,0,255)); 
	return m_brush; 
} 
 
BOOL MyListBox::OnEraseBkgnd(CDC* pDC) 
{ 
	// TODO: 在此添加消息处理程序代码和/或调用默认值 
 
	BITMAP bminfo; 
	m_bmp.GetBitmap(&bminfo); 
	m_curbmp = &m_bmp; 
	CDC memDC; 
	memDC.CreateCompatibleDC(pDC); 
	memDC.SelectObject(m_curbmp); 
	pDC->BitBlt(0,0,bminfo.bmWidth,bminfo.bmHeight,&memDC,0,0,SRCCOPY); 
 
	return CListBox::OnEraseBkgnd(pDC); 
} 
 
void MyListBox::OnLButtonDown(UINT nFlags, CPoint point) 
{ 
	// TODO: 在此添加消息处理程序代码和/或调用默认值 
	Invalidate(); 
	CListBox::OnLButtonDown(nFlags, point); 
} 
 
void MyListBox::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{ 
	// TODO: 在此添加消息处理程序代码和/或调用默认值 
	Invalidate(); 
	CListBox::OnVScroll(nSBCode, nPos, pScrollBar); 
}