读书人

这种背景色(PS的透明黑白格子)如何做

发布时间: 2013-04-02 12:35:26 作者: rapoo

这种背景色(PS的透明黑白格子)怎么做
而且背景周围的灰色底色是不会覆盖(闪烁)到黑白格子这块画布上的。
这种背景色(PS的透明黑白格子)如何做
在放大到一定程度的时候,比如画布大于窗口内边缘。才会显示滚动条。灰色区域无论缩小多少,都好象沙漠一样,永远没边缘
这种背景色(PS的透明黑白格子)如何做

[解决办法]
使用:Hatch brush diagonal
填背景
[解决办法]
用for循环fillrect
[解决办法]
怎么可能闪烁!怎么可能闪烁!怎么可能闪烁!怎么可能闪烁!

void CMFCSDIView::OnDraw(CDC* pDC)
{
CMFCSDIDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;

// TODO: 在此处为本机数据添加绘制代码
CRect rcClient;
GetClientRect(&rcClient);
CBrush brushBkGround;
brushBkGround.CreateStockObject(LTGRAY_BRUSH);
pDC->FillRect(rcClient, &brushBkGround);

// Create a hatched bit pattern.
WORD HatchBits[8] = { 0x0F, 0x0F, 0x0F, 0x0F, 0xF0, 0xF0, 0xF0, 0xF0 };

// Use the bit pattern to create a bitmap.
CBitmap bm;
bm.CreateBitmap(8,8,1,1, HatchBits);

// Create a pattern brush from the bitmap.
CBrush brush;
brush.CreatePatternBrush(&bm);

// Select the brush into a device context, and draw.
CBrush* pOldBrush = (CBrush*)pDC->SelectObject(&brush);
COLORREF oldColor = pDC->SetTextColor(RGB(222,222,222));
CPen penBorder;
penBorder.CreatePen(PS_SOLID, 2, RGB(128,128,128));
CPen* olePen = (CPen*)pDC->SelectObject(&penBorder);
pDC->RoundRect(CRect(50, 50, 200, 200), CPoint(3,3));
pDC->SelectObject(olePen);
pDC->SetTextColor(oldColor);

// Restore the original brush.
pDC->SelectObject(pOldBrush);
}

读书人网 >VC/MFC

热点推荐