我想在MFC框上加一个指示灯,就是实现那种,我点一下按钮,他就亮,我再点一下,他就关掉。。我今天自己用的自绘的形式做了一个指示灯,一个是绿色,一个是红色。我想他初始化是绿色,然后点一下,就是红色可是说没错误,但是一调试就出现终止调试界面
所以想请哪位高手教教

解决方案 »

  1.   

    我先再Icon里自绘了两个指示灯IDI_ICON_OFF,IDI_ICON_ON.然后在头文件里声明:
    HICON m_hIconON;    //打开开始亮红灯
    HICON m_hIconOFF;    //关闭亮绿灯
    再建立指示灯的类向导:m_LED;
    然后在OnInitDialog()这个函数里加
    m_hIconON=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON_ON));//指示灯
    m_hIconOFF=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON_OFF));
    然后在按钮里加:
    m_Led.SetIcon(m_hIconON);//调用“开”指示灯我做的就是这样,希望大家帮个忙!!!
      

  2.   

    这个东西应该很简单吧,不过我不知你的需求细节。
    我想你的按钮应该重载一下,然后重载按钮的leftbuttondown 和 up 事件当有down时间的时候发送消息给主窗口画个红色的圆什么的,up的时候换回原来的颜色再画一遍。只能给你这么多了,如果你要代码的话基本不可能,大家都很忙的
      

  3.   

    不好意思没看清楚需求。那就只处理down消息,然后加个bool变量。
    在down事件里
    if(b)
    {
    sendmessage(getparent()->m_hwnd,WM_MY_RED,0,0);
    b=FALSE;
    }
    else
    {
    sendmessage(getparent()->m_hwnd,WM_MY_BLUE,0,0);
    b=true;
    }
      

  4.   

    你说的是不是这种东西
    http://blog.csdn.net/xianglitian/archive/2010/12/14/6075653.aspx
      

  5.   

    CButton(check box),自绘贴图
      

  6.   

    终于找到错误了,是我定义的m_led和m_LED,前后不一致,还是谢谢大家的帮忙!!!