想在一个屏幕上画一个数字时钟,后面大背景的颜色可变。因为时钟值不断变化,所以涉及到一个刷新问题。
原来的思路是取一个小的rect区域,将这个区域刷成后面大背景的颜色,然后写上时钟值,根据计时器,不断的往这个小区域上画,这样就可以实现透明效果。
但是,如果在时钟后面画了一个颜色不和背景颜色一样的图形的话,那时钟的背景色就不和后面的图形颜色一样,没有了透明的效果。
想问问各位有什么好方法?

解决方案 »

  1.   

    pDC->SetBkMode(TRANSPARENT);
    pDC->DrawText(...);
      

  2.   

    不行啊,我设了pDC->SetBkMode(TRANSPARENT);
    光是写静态的字的话能实现透明。
    因为时钟值是变的,不断往上写,就变成一团糊了。
    所以还涉及到一个刷新问题,怎么把这个字擦掉,然后再写。
    又不能整屏的刷,那样闪的太厉害。
      

  3.   

    pDC->SelectStockObject(NULL_BRUSH);//试试
    pDC->SetBkMode(TRANSPARENT);
      

  4.   

    krh2001(边城浪子) 能说详细点吗
    最好有代码什么的,小弟比较菜,呵呵