Düğme meydan okuması! - sayfa 8

 
Aynı zamanda bir seçenektir. Bunları her tıklamada oluşturmanız gerekmez.
 
static string name= NULL ;
for ( int i= 0 ;i< 10 ;i++)
  {
   bool But= ObjectGetInteger ( 0 ,( string )i, OBJPROP_STATE );
   if (but && name!=( string )i)
     {
       ObjectSetInteger ( 0 ,name, OBJPROP_STATE , false );
      name=( string )i;
     }
  }
Düğme adları sayı değilse, adları bir diziye göndeririz.
 
Rorschach :
Düğme adları sayı değilse, adları bir diziye göndeririz.
önceki düğme, sonraki döngü çağrısına kadar basılı kalır...
 

Bu yaklaşım ne kadar doğru bilmiyorum ama sorun çözüldü

 static string name= NULL ;
for ( int i= 0 ;i< 10 ;i++)
  {
   bool But= ObjectGetInteger ( 0 ,( string )i, OBJPROP_STATE );
   if (but && name!=( string )i)
     {
       ObjectSetInteger ( 0 ,name, OBJPROP_STATE , false );
      name=( string )i;
      i=0;
      }
  }
 
static string name= NULL ;
for ( int i= 0 ;i< 10 ;i++)
  {
    bool But= ObjectGetInteger ( 0 ,( string )i, OBJPROP_STATE );
    if (But && name!=( string )i)
     {
      ObjectSetInteger ( 0 ,name, OBJPROP_STATE , false );
      name=( string )i;
      ChartRedraw ();
       break ;
     }
  } 
Belki öyledir, denemedim.
 
Rorschach :
Belki öyledir, denemedim.

biraz farklı karar verdim

 static string name= NULL ;
for ( int i= 0 ;i< 10 ;i++)
  {
   bool But= ObjectGetInteger ( 0 ,( string )i, OBJPROP_STATE );
   if (but && name!=( string )i)
     {
       ObjectSetInteger ( 0 ,name, OBJPROP_STATE , false );
      name=( string )i;
      i= 0 ;
      }
  }

Son seçeneğinizi kontrol etmedim, ancak dizin 10'lu düğmeye ve ardından dizin 9'a sahip düğmeye basılırsa, döngü dizin 9'da kesintiye uğradığı için dizin 10'a basılmayacağına dair bir şüphe var ...