请问VC6.0里怎样实现这种指示灯的显示
2个回答
展开全部
最简单的,就是资源中的图片(或ICON图标)贴图。
通过上、右侧的静态文本框,获得贴图位置,然后将同一个图(或者几个不同颜色的)循环贴上去就可以了
通过上、右侧的静态文本框,获得贴图位置,然后将同一个图(或者几个不同颜色的)循环贴上去就可以了
更多追问追答
追问
是用picture控件吗?有教程吗,网上找了好多都不靠谱
追答
不需要控件,直接OnPaint里面绘制就可以了。
不需要什么教程吧。。。
void CDialog1::OnPaint()
{
CPaintDC dc(this); // device context for painting
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1); //IDB_BITMAP是你自己的图对应的ID
BITMAP bitmap;
bmp.GetBitmap(&bitmap);
CBitmap *pbmpOld=dcMem.SelectObject(&bmp);
for (int i=0;i<5;i++)
{
dc.BitBlt(100+i*30,100+i*30,bitmap.bmWidth,bitmap.bmHeight,&dcMem,0,0,SRCCOPY);
}//要想透明边界只显示圆形,用TransparentBlt
dcMem.SelectObject(pbmpOld);
}
优化的话,最好吧memDC的操作包括位图都放到初始化函数(使用对话框类成员变量),这里只for循环就可以了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询