界面如下图静态文本框在定时器中移动,当输入焦点在编辑框,而恰巧文本框从那里经过,则文本框的图像被弄乱,怎么解决呀,我用的是VS2005开发环境MFC界面Visual Studio 2005

解决方案 »

  1.   

    是在OnPaint函数中绘制的图形吗?
      

  2.   

    你是说重载OnEraseBkgnd(CDC* pDC),直接返回FALSE?
    试过了,没有效果
      

  3.   

    你是说重载OnEraseBkgnd(CDC* pDC),直接返回FALSE?
    试过了,没有效果
    返回TRUE的吧,代表背景已经刷新过了。
      

  4.   

    背景图片是在OnPaint中绘制的,文本框是在OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)添加颜色的case IDC_STATIC_WELCOM:
    {
    pDC->SetBkMode(TRANSPARENT); 
    //pDC->SetBkMode(OPAQUE);
    pDC->SetTextColor(RGB(255,255,0)); 
    HBRUSH B = CreateSolidBrush(RGB(125,125,255)); 
    return (HBRUSH) B;
    }
      

  5.   

    每次只重绘文本框的区域不就行了,InvalidateRect()
      

  6.   

    我是这样做的,背景图片在OnPaint中绘出,文本框用OnCtlColor绘成蓝底黄字,在OnTimer中用MoveWindow实现文本的移动,不知有有什么奇怪的。
    本人新手哈,对学到的东西东拼西凑成了现在的样子,望详加指点哟!