看到VB里有一个圆形控件,圆圈内可以改变填充颜色,在VC中找了半天,发现只有方形的,请问要实现红绿灯这样的闪,VC中能做到吗?有简单的吗?

解决方案 »

  1.   

    VB的控件,也是用代码写成的。用VC同样可以做到。可以通过写一个ActiveX控件来实现。
    简单的话,也有方法。可以写一个类,对一个CDC进行操作,通过函数改变填充的颜色。也可以从CStatic继承一个自己的类,可以相应鼠标操作或者通过成员函数设置填充颜色。
      

  2.   

    新建个窗口,设置定时器,根据当前状态(红,绿,黄)用不同的画刷反复填充不就可以了么?
    要是一定要创建圆形窗口,还可以SetWindowRgn来实现~
      

  3.   

    Ellipse不是可以画圆吗,SelectObject红色/绿色HBRUSH不就完了
      

  4.   

    在资源里面 画几个 红绿图 然后用picture控件导入
      

  5.   

    CBitmap hong, lv;
    hong .LoadBitmap(IDB_BITMAP1);//你自己画的图的名字
    lv.LoadBitmap(IDB_BITMAP2);
    条件1
    m_pic1.SetBitmap(hong);
    条件2
    m_pic1.SetBitmap(lv);