要求是这样的,有三个ScrollBar,分别控制一个EditBox的RGB颜色的红绿蓝,当调整三个控件的Position时,动态更新EditBox的颜色,我知道有一个OnCtlColor函数,但是这个好像是在生成对话框的时候调用的,如何在调整ScrollBar的时候调用?或者是用什么其他的函数,Invalidate()?哪位指点一下?
 
 

解决方案 »

  1.   

    "有一个OnCtlColor函数,但是这个好像是在生成对话框的时候调用的"这个并不仅仅在生成时调用的,我以前做过试验,只要是重绘窗口,都会触发他的
      

  2.   

    你可以当ScrollBar变化时,用sendMessage()函数发一个WM_CTLCOLOR消息过去,触发他的
      

  3.   

    重载处理WM_DRAWITEM的虚拟函数,在里面改
      

  4.   

    恢复:你可以当ScrollBar变化时,用sendMessage()函数发一个WM_CTLCOLOR消息过去,触发他的
    我试了一下,可是只要ScrollBar变化时,程序就出错,被强行退出
    恢复:重载处理WM_DRAWITEM的虚拟函数,在里面改
    怎么改,可以再详细一点吗
      

  5.   

    我这里有一个ScrollBar变化时,他里面的颜色渐变的例子,看对你是否有帮助,我可以给你发过去。
      

  6.   

    回复:normalnotebook(逐浪踏雪)  
    我的信箱:[email protected]