我使用MFC的单文档创建了一个程序,并在重载了OnIdle空闲处理,但是却遇到一个问题:当我点击工具条上的按钮时可以正确的运行并更新工具条,但是我单击菜单中同一ID的菜单命令时,虽然程序有执行,但是工具条却并未更新,请问我该怎么让他更新呢?    我这里只需要将工具条上该按钮设置为已选中或者未选中?对更新工具条我要发送一个什么命令呢?或者有没其他的方法。    注意:如果我把OnIdle重载去掉,上述问题就没有了。

解决方案 »

  1.   

    要发消息给控件 enable(false)啊  你光设置未选中有什么用?
      

  2.   

    有什么非要重载OnIdle的理由么
      

  3.   

        我作的是一个DX与MFC结合的程序,应为要用实时绘制,所有重载了OnIdle。当然我知道可以用timer,但是给我的感觉就是有点不好。所以最终我还是选择了OnIdle,就是上面的那个问题让我犯愁啊?
      

  4.   

    不要用windows的OnIdle
    我没记错的话OpenGL和D3D都有自己的处理空闲的方法
    或者你可以开一个独立线程来处理
    或者重载OnIdle时PostMessage出来一个消息让主界面自己处理