问题描述:
    新建一个基于对话框的MFC工程。没有做任何改动,
只拖进一个Scroll Bar控件。运行程序,控件的那个滚动块
就会一闪一闪的。如下图:
有阴影,无阴影,有阴影,无阴影。就像一盏灯一样闪来闪去
请问怎么处理,才能让其不闪动?是不让它得到焦点?小弟愚昧,还请各位大侠详细一点。
多谢,问题解决即结贴。

解决方案 »

  1.   

    ScrollBar默认没有Tabstop你把它打开后,一旦按TAB到ScrollBar就会这样,是焦点的意思。
      

  2.   

    回2,3楼。
    Scroll Bar控件的Tabstop属性是false,这个是默认的。我没有改动。
      

  3.   

    我上传到了csdn:
    http://download.csdn.net/source/2964381
    谢谢大家。
      

  4.   

    原因找到,是由于窗口的default button落到了你的这个滚动条上了
      

  5.   

    那我总结一下:
        我新建的是基于对话框的MFC程序,我拿掉了所有原有的控件,
    包括做为default button的“确定”按钮。之后,我托进了一个
    Scroll Bar,它成为default button,默认获得焦点,Scroll
    Bar控件再获得焦点时,它的滚动块就会闪动。解决方法:
        1 可以将焦点设置到其他控件上,比如一个文本控件:
        m_StaNum.SetFocus();
        2 向Scroll Bar发送一个WM_KILLFOCUS消息,以使其失去焦点:
        SendDlgItemMessage(IDC_SCROLLBAR1, WM_KILLFOCUS, 0, 0);
    这两个函数,我是放到了OnPaint中,Scroll Bar确实不闪动了。是这样的吧?
    另外,谢谢大家。呆会结贴。