做的一程序在win2008Ser环境下测试时,点击按钮操作,速度会变慢十倍。究其原因是其中做了SetFocus()操作。蒋老师和各位高手能不能说说SetFocus究竟做啥惊天动地的事了,让操作速度变得那么慢?

解决方案 »

  1.   

    大家都挺有幽默感的啊1. 确认是SetFocus()的引起的,先屏蔽试试
    2. 如果是由于添加SetFocus()导致的,有可能是与窗口其它消息有冲突
      

  2.   

    你在什么情况下如何调用的SetFocus?
      

  3.   

    在其他操作系统下时没有什么问题的,显然是和2008 server下什么东西冲突了。
      

  4.   

    问题是不知道什么原因呗……void CXXXDlg::OnBnClickedXXX()
    {
    ...
    DisplayInfo()
    ...
    }
    void CXXXDlg::DisplayInfo()
    {
    //一定条件下,按钮设为disable
    if(...)
    {
    GetDlgItem(IDC_XXX)->EnableWindow(FALSE);
    SetFocus();
    }
    }大概就是这个样子。
      

  5.   

    看不出这个SetFocus的作用,你的用意是什么?