You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
1.6 KiB
C

1 month ago
#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;
}
};