我学校校名是毛泽东题的,现在做毕业设计要把它显示到对话框上。于是我把那四个大字截图下来单独保存,然后置为四个静态文本框的背景图片。问题是我想把这四个字每隔一秒换一下背景色,实现动态闪动的功能,这样好看点,我原本想很简单的,但后来发现,因为截下来的位图本来就是有背景色的(白色),然后这又是一副图片,背景色就是位图本身的,不好改变啊,但是毛泽东写的这四个字必须截图啊,我是打不出来的,所以我想用PS把它的背景色置为透明,不知道这样静态文本框的背景色能不能填充这个背景色?我暂时还没试,只是个想法,不知道可行否?
另外各位有更好的办法吗?

解决方案 »

  1.   

    既然用ps,不如直接做个gif,然后放到static上。背景色的切换都省了
      

  2.   

    1.如1L.
    2.响应WM_CTLCOLOREDIT,然后transparentblt贴图即可。
      

  3.   

    请问加Gif动画图片和加位图图片是一样实现的吗?
      

  4.   

    1做成动画,
    2做成多桢图片,背景颜色不一样,然后间隔时间切换显示不同的图片.
    3所有图片效果都在程序里处理,先自己填充文本框的背景色,再用TranslateBit函数来透明掉图片的黑色背.景.
      

  5.   

    1做成动画,
    2做成多桢图片,背景颜色不一样,然后间隔时间切换显示不同的图片.
    3所有图片效果都在程序里处理,先自己填充文本框的背景色,再用TranslateBit函数来透明掉图片的黑色背.景.
      

  6.   

    CBitmap m_pBitmap;
    HBITMAP   hBitmap;
    m_pBitmap = new CBitmap();
    CString csTempFileFind = _T("path  yours.gif");
    img.Load(csTempFileFind);
    hBitmap = img.Detach();
    m_pBitmap->Attach(hBitmap);
      

  7.   

    我要实现的功能是 先第一幅图片变背景色 然后隔一秒后第二幅变。最后所有的都变好后又恢复到原来的样子,然后又重复到前面的动作,请问gif能实现这样的功能吗?如果能实现这样的功能,那我就顺带捎一下,有谁愿意为我做这个gif图片吗?我会单独给你加分的,主要是我今天就要交了,时间紧,我自己做的话还要自己下软件,然后再摸索一下,真的是时间比较急。
      

  8.   

    贴个SDK的,
    响应WM_PAINTcase WM_PAINT:
    {

    hdc=BeginPaint(hWnd,&ps);
    hi=(HINSTANCE)GetWindowLong(hWnd,GWL_HINSTANCE);
    HDC ThisDc=GetDC(GetDlgItem(hWnd,IDC_STATIC1));
    HDC memDC=CreateCompatibleDC(ThisDc);
    HBITMAP bitmap=LoadBitmap(hi,MAKEINTRESOURCE(IDB_BIT));
    SelectObject(memDC,bitmap);
    RECT rc;
    HBRUSH brush=CreateSolidBrush(RGB(x,x+50,x+25));
    GetClientRect(GetDlgItem(hWnd,IDC_STATIC1),&rc);
    FillRect(ThisDc,&rc,brush);
    TransparentBlt(ThisDc,0,0,86,69,memDC,0,0,86,69,RGB(255,255,255));
    DeleteObject(bitmap);
    DeleteObject(brush);
    EndPaint(hWnd,&ps);
    }break;在WM_TIMER中INVALIDATERECT即可了。
      

  9.   

    我学校的校名也是“毛体”
    不过不是他亲题
    是从他文章中找出来凑的......
    说正题
    重载CStatic
    在OnPaint里画背景
    背景色用一个COLORREF的数组
    用一个Timer调整下标
    然后Invalidate重绘
    至于你们的校名
    用transparentblt贴图即可
    这个函数支持色键