我学校校名是毛泽东题的,现在做毕业设计要把它显示到对话框上。于是我把那四个大字截图下来单独保存,然后置为四个静态文本框的背景图片。问题是我想把这四个字每隔一秒换一下背景色,实现动态闪动的功能,这样好看点,我原本想很简单的,但后来发现,因为截下来的位图本来就是有背景色的(白色),然后这又是一副图片,背景色就是位图本身的,不好改变啊,但是毛泽东写的这四个字必须截图啊,我是打不出来的,所以我想用PS把它的背景色置为透明,不知道这样静态文本框的背景色能不能填充这个背景色?我暂时还没试,只是个想法,不知道可行否?
另外各位有更好的办法吗?
另外各位有更好的办法吗?
解决方案 »
- 在JS调用Activex的时候,如何通过dispid得到被调用的函数名
- OPC技术
- 请问在vc.net中如何初始化char FAR* buf
- Ado 记录集打开的问题
- 请教:有谁做过《关于特种作业人员安全技术培训考核》的管理软件的。
- ---如何让VC++生成lib,让BCB能用?----
- c/c++ 高手一试:内存管理、sizeof用法测试
- 如何判断哪个进程是我用程序打开的?
- Re:在Windows C SDK 编程中怎么添加ActiveX控件
- 在Unicode编程下,我用WindowProc截获汉字输入,如果一次输入一个字,没问题。多字时,“你好”就成了“你好?ā??ā??ā?
- 关于使用CPropertySheet的问题。
- 如果使用sendmessage函数的问题
2.响应WM_CTLCOLOREDIT,然后transparentblt贴图即可。
2做成多桢图片,背景颜色不一样,然后间隔时间切换显示不同的图片.
3所有图片效果都在程序里处理,先自己填充文本框的背景色,再用TranslateBit函数来透明掉图片的黑色背.景.
2做成多桢图片,背景颜色不一样,然后间隔时间切换显示不同的图片.
3所有图片效果都在程序里处理,先自己填充文本框的背景色,再用TranslateBit函数来透明掉图片的黑色背.景.
HBITMAP hBitmap;
m_pBitmap = new CBitmap();
CString csTempFileFind = _T("path yours.gif");
img.Load(csTempFileFind);
hBitmap = img.Detach();
m_pBitmap->Attach(hBitmap);
响应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即可了。
不过不是他亲题
是从他文章中找出来凑的......
说正题
重载CStatic
在OnPaint里画背景
背景色用一个COLORREF的数组
用一个Timer调整下标
然后Invalidate重绘
至于你们的校名
用transparentblt贴图即可
这个函数支持色键