|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include "stdafx.h"
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef BACK_COLOR
|
|
|
|
|
|
//COLORREF DrawerBackColor = RGB(192, 192, 192);
|
|
|
|
|
|
|
|
|
|
|
|
#define BACK_COLOR
|
|
|
|
|
|
#endif // !BACK_COLOR
|
|
|
|
|
|
class DCHelp
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
//static COLORREF DrawerBackColor;// = RGB(192, 192, 192);
|
|
|
|
|
|
// <20><><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD>
|
|
|
|
|
|
static bool ClearDC(CDC* pCdc, COLORREF clrBack)
|
|
|
|
|
|
{
|
|
|
|
|
|
//if (symbolFlag)
|
|
|
|
|
|
//{
|
|
|
|
|
|
// clrBack = RGB(192, 192, 192);
|
|
|
|
|
|
//}
|
|
|
|
|
|
//else
|
|
|
|
|
|
//{
|
|
|
|
|
|
// clrBack = RGB(255, 255, 255);
|
|
|
|
|
|
//}
|
|
|
|
|
|
//
|
|
|
|
|
|
CRect clip;
|
|
|
|
|
|
pCdc->GetClipBox(clip);
|
|
|
|
|
|
|
|
|
|
|
|
//if (pCdc->GetDeviceCaps(RASTERCAPS)&RC_BITBLT)
|
|
|
|
|
|
//{
|
|
|
|
|
|
// CBrush br(clrBack);
|
|
|
|
|
|
// CBrush* pOldBrush = pCdc->SelectObject(&br);
|
|
|
|
|
|
// pCdc->PatBlt(clip.left, clip.top, clip.Width(), clip.Height(), PATCOPY);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸֧<E8B1B8>ִ˺<D6B4><CBBA><EFBFBD>
|
|
|
|
|
|
// pCdc->SelectObject(pOldBrush);
|
|
|
|
|
|
//}
|
|
|
|
|
|
//else
|
|
|
|
|
|
pCdc->FillSolidRect(clip, clrBack);
|
|
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
// <20><><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD>
|
|
|
|
|
|
static bool ClearDCNull(CDC* pCdc, COLORREF clrBack)
|
|
|
|
|
|
{
|
|
|
|
|
|
CRect clip;
|
|
|
|
|
|
pCdc->GetClipBox(clip);
|
|
|
|
|
|
|
|
|
|
|
|
if (pCdc->GetDeviceCaps(RASTERCAPS)&RC_BITBLT)
|
|
|
|
|
|
{
|
|
|
|
|
|
CBrush* pBrush= CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));
|
|
|
|
|
|
CBrush* pOldBrush = pCdc->SelectObject(pBrush);
|
|
|
|
|
|
pCdc->PatBlt(clip.left, clip.top, clip.Width(), clip.Height(), PATCOPY);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸֧<E8B1B8>ִ˺<D6B4><CBBA><EFBFBD>
|
|
|
|
|
|
pCdc->SelectObject(pOldBrush);
|
|
|
|
|
|
}
|
|
|
|
|
|
else {
|
|
|
|
|
|
|
|
|
|
|
|
CBrush *pBrush = CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));
|
|
|
|
|
|
//FromHandleһ<65><D2BB><EFBFBD><EFBFBD>ˢ<EFBFBD><CBA2><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Ϊһ<CEAA><D2BB><EFBFBD><EFBFBD>ˢ<EFBFBD><CBA2><EFBFBD><EFBFBD>
|
|
|
|
|
|
//GetStockObject(NULL) <20><>ȡһ<C8A1><D2BB><EFBFBD><CDB8><EFBFBD><EFBFBD>ˢ<EFBFBD><CBA2><EFBFBD><EFBFBD>
|
|
|
|
|
|
CBrush *pOldBrush = pCdc->SelectObject(pBrush);// <20>ѻ<EFBFBD>ˢ<EFBFBD><CBA2><EFBFBD>ص<EFBFBD><D8B5>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
pCdc->Rectangle(clip);
|
|
|
|
|
|
pCdc->SelectObject(pOldBrush);
|
|
|
|
|
|
|
|
|
|
|
|
//pCdc->FillSolidRect(clip, clrBack);
|
|
|
|
|
|
}
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|