How to create a user defined listbox control in VC++ ?

Key Words: VC++, SubClass , Control
 
NoteThe VC++ project GuanRuiPaint make a big progress,  all UI related tasks have been done already !
   
None.gifCDC * pDC=CDC::FromHandle(lpDrawItemStruct->hDC);
None.gif 
int nWidth= lpDrawItemStruct->itemData;
None.gif 
int nStype= lpDrawItemStruct->itemData;
None.gif 
if(m_nParamIndex==PEN_STYLE)
None.gif  nWidth
=1;
None.gif CPen pen;
None.gif COLORREF crLine
=RGB(255,0,0);
None.gif 
int nCenterPos=(CRect(lpDrawItemStruct->rcItem).Height()-
None.gif     nWidth)
/2+CRect(lpDrawItemStruct->rcItem).TopLeft().y;
None.gif 
if (lpDrawItemStruct->itemAction & ODA_DRAWENTIRE) 
None.gif {
None.gif  crLine
=RGB(0,0,0);
None.gif  CBrush br(GetSysColor(COLOR_BTNFACE));
None.gif  pDC
->FillRect(&lpDrawItemStruct->rcItem,&br);
None.gif }
None.gif 
if ((!(lpDrawItemStruct->itemState & ODS_SELECTED)) &&
None.gif  (lpDrawItemStruct
->itemAction & (ODA_SELECT)))
None.gif { 
None.gif  crLine
=RGB(0,0,0);
None.gif  CBrush br(GetSysColor(COLOR_BTNFACE));
None.gif  
//CBrush br(RGB(128,0,0));
None.gif  pDC
->FillRect(&lpDrawItemStruct->rcItem,&br);
None.gif }
None.gif 
if ((!(lpDrawItemStruct->itemState & ODS_SELECTED)) &&
None.gif  (lpDrawItemStruct
->itemAction & (ODA_SELECT | ODA_DRAWENTIRE)))
None.gif { 
None.gif  crLine
=RGB(255,0,0);
None.gif  CBrush br(RGB(
0,0,255));
None.gif  pDC
->FillRect(&lpDrawItemStruct->rcItem,&br);
None.gif
None.gif  pen
.CreatePen(PS_SOLID,1,crLine);
None.gif  CPen 
*pOldPen=pDC->SelectObject(&pen);
None.gif  pDC
->MoveTo(5,nCenterPos);
None.gif  pDC
->LineTo(CRect(lpDrawItemStruct->rcItem).Width()-5,nCenterPos);
None.gif  pDC
->SelectObject(pOldPen)->DeleteObject();
None.gif }

转载于:https://www.cnblogs.com/nickong/archive/2007/08/07/845855.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值