我在文档类中设了一个变量m,我想当m满足条件m==1时,调用视图类中的一个函数f(),那我该怎么做呢?
我现在把这个判断条件放在了OnDraw()中,但是OnDraw要一直刷新,一直执行这个函数。这不是我希望的。我只希望
if(m==1)
{
f();
}
void f()
{
}
把判断条件放在哪里?
我放在视图类的构造函数中,函数不执行。
void ff()
{
   if(m==1)
   {
    f();
   }
}
设这么一个函数也不执行,怎么弄,大侠们支个招,急死小弟了,谢谢大家了!

解决方案 »

  1.   

    你只执行一次判断?if(m==1)
      

  2.   

    1.赋值不要直接付给M
    可以定义一个函数 ,通过函数给M赋值比如SetData(int nData);{
        m= ndata;if(m==1)
    }
    2
    设置一个timer,定期检测在OnTimer里面{
    if(m==1)
    {
    ...
    killTimer(....);
    }}
      

  3.   

    如果你不希望一直刷新为什么要把判断放在ondraw里呢?些个函数 当满足条件的时候触发不久可以了??或者你这样 static bool 定义一个静态bool b_bool 变量当修改M值的时候把b_bool改为true;
    if(b_bool==true)

       if(m==1)
       {
       f();
       b_bool=false;这样下次就不会执行了 或者还有个更简单的 你把m随便改成个什么值他不就不进来了么 反正f函数已经执行过了,比如下面加一个m=0;
       }}void f()
    {
    }