我们现在的界面(背景是黑色)是有很多种 颜色 的线(由左至右),现在界面上有十字光标 我现在的办法是移动十字光标就连所有的线一起重绘,但是这样相对效率就低了很多 有没有什么办法可以只用绘制十字光标的区域呢?(注:线的颜色有多种) MFC vs2005

解决方案 »

  1.   

    BOOL InvalidateRect(
      HWND hWnd,           // handle to window
      CONST RECT* lpRect,  // rectangle coordinates
      BOOL bErase          // erase state
    );
      

  2.   

    一种是以利用alpha实现透明。
    一种是局部重画
      

  3.   


    alpha实现透明 能说具体点儿么?
      

  4.   

    这个你要自己去看了,你光标是不是图片?可以做成png,支持alpha通道的。
      

  5.   


    2个重叠的客户区、
    比如你原来是一个cwindow 现在在这个cwindow中建立一个子cwindow 和原来的一样大背景绘背景的 十字绘十字的
    十字部分的透明处理 msdn上看看alphablend关键字
      

  6.   

    使用
    CDC::SetROP2(R2_NOT)