龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

如何更新翻转背景颜色的文本

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
调用CDC:: SetBkmode并传送OPAQUE用当前的背景颜色填充背景,或者调用CDC::SetBkMode并传送TRANSPAARENT使背景保持不变,这两种方法都可以设置背景模式。下例设置背景模式为TRANSPARENT,可以两次

调用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);

}

精彩图集

赞助商链接