如何更新翻转背景颜色的文本
调用CDC:: SetBkmode并传送OPAQUE用当前的背景颜色填充背景,或者调用CDC::SetBkMode并传送TRANSPAARENT使背景保持不变,这两种方法都可以设置背景模式。下例设置背景模式为TRANSPARENT,可以两次更新串,用花色带黑阴影更新文本。黑色
串在红色串之后,但由于设置了背景模式仍然可见。
void CSampleView::OnDraw(CDC *pDC)
{
//Determint size of view.
CRect rcView;
GetClientRect(rcVieew);
//Create sample string to display.
CString str(_T("Awesome Shadow Text..."));
//Set the background mode to transparent.
pDC->SetBKMode(TRANSPARENT);
//Draw black shadow text.
rcView.OffsetRect(1, 1);
pDc->SetTextColor(RGB(0, 0, 0));
pDC->DrawText(str, str.GetLength(), rcView,
DT_SINGLELINE | DT_CENTER | DT_VCENTER);
//Draw red text.
rcView.OffsetRect( - 1, - 1);
pDc->SetTextColor(RGB(255, 0, 0));
pDC->DrawText(str, str.GetLength(), rcView,
DT_SINGLELINE | DT_CENTER | DT_VCENTER);
}