Salut

j'ai un popup menu dans lequelle je enable/disable les items en fonction
du contenue de l'eurs string

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
void ChannelFeaturesDlg::OnUpdateSiteCommand(CCmdUI* pCmdUI)
{
   CString csFail;
   csFail.LoadString(IDS_SITE_FAIL);
   csFail.ReleaseBuffer();
 
   if(pCmdUI && m_pChanObjDbase)
   {
      CString csTemp,csAppend;
      csAppend.LoadString(IDS_SITE_FAIL);
      pCmdUI->SetRadio(((UINT)m_pChanObjDbase->GetChanSiteState()) == pCmdUI->m_nIndex);
 
	  CStringArray csSiteAlias;
	  csSiteAlias.Copy(m_pChanObjDbase->GetChanSiteLabels());
 
	 	  //Site est Standby Site 
	  if(m_pChanObjDbase->GetChanSiteType() ==SEC_CONTROLE_STEERING)
	  {
		 csTemp=csSiteAlias[pCmdUI->m_nIndex];
 
        if(csTemp.Find(csFail)!=-1)
        {
                pCmdUI->Enable(FALSE);
        }
	  }
 
 
      pCmdUI->SetText(csTemp);
   }
}
quand je selectionne un item du menu j'utilise le message ON_CONTROLE_RANGE(ID_SITE1,ID_SITE2,OnSiteCommand())

sur exemple 4 iteme dans le menu.
Si les items 3,4 sont desactiver et les items 1,2 sont active tout vas bien, la selection des items 1,2 vont appeler OnSiteCommande(UINT nID);
mais le contraire les items 1,2 sont desactive et les items 3,4 Active. Ca ne fonctionne pas je ne passe pas par OnSiteCommande(UINT nID);

je en comprend pas pourquoi ???