Salut
j'ai un popup menu dans lequelle je enable/disable les items en fonction
du contenue de l'eurs string
quand je selectionne un item du menu j'utilise le message ON_CONTROLE_RANGE(ID_SITE1,ID_SITE2,OnSiteCommand())
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); } }
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 ???
Partager