程序虽说正常运行,但是安装BoundsChecker后他说ReleaseDC()有泄漏,请大家帮我看看吧。打 * 号的那句话是必须那样写的,因为调用的其他Dll中的函数。谢谢
void CPokerWnd::OnPaint() 
{
//TRACE("\nCPokerWnd::OnPaint() called!\n");
CPaintDC dc(this); // device context for painting
CString sOut;
char buffer[200];
if(bIsJoker)
{
CBitmap bitmap;
CDC dcMemory;
bitmap.LoadBitmap (/*IDB_BITMAP1*/iBitmapID);
dcMemory.CreateCompatibleDC (&dc);
dcMemory.SelectObject (&bitmap);
dc.BitBlt (0,0,300,409,&dcMemory,0,0,SRCCOPY);//APPENDED BY ZYY
//摘自《vc技术内幕》p221
//书上在OnDraw()里面写,此处我写到OnPaint()里面
dc.SetBkMode (TRANSPARENT);
dc.SetTextColor (RGB(255,0,0));
sOut="Joker";
dc.TextOut (3,50,sOut);
dc.TextOut(3,3,buffer,wsprintf(buffer,"card:%d",iCard));
dc.TextOut(3,30,buffer,wsprintf(buffer,"type:%d",iType));

}
else
{
// Do not call CWnd::OnPaint() for painting messages
//int type = 1;//ectFACES;
//
// Draw a card!!
//
HDC hdc;
CDC *pdc;
//iCard=68;
//iType=2;//test information

//hdc=::GetDC (m_hWnd );
pdc=GetDC();
hdc=pdc->m_hDC ; cdtDraw(hdc, 0, 0, iCard/*iValueFaceFirst*/, iType, 0);//————(*) //::ReleaseDC (m_hWnd ,hdc);
ReleaseDC(pdc); dc.SetBkMode (TRANSPARENT);
dc.SetTextColor (RGB(0,0,255));
//dc.TextOut(3,3,buffer,wsprintf(buffer,"f:%d,s:%d",iFace,iSuit));
//dc.TextOut(3,30,buffer,wsprintf(buffer,"type:%d",iType));

}
}