por atp el Mar May 01, 2007 3:55 am
Ya sé como se deselecciona un item seleccionado, tan solo hay que poner:
m_arbol.SetItemState(h,0,TVIS_SELECTED);
Ahora bien, tengo el siguiente trozo de código:
void CArbolesDlg::OnRclickTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
CString sstring;
HTREEITEM h;
if(concepto != NULL){
m_arbol.SetItemState(concepto,0,TVIS_SELECTED);
}
concepto = m_arbol.GetDropHilightItem();
if(concepto != NULL){
h = m_arbol.GetSelectedItem();
m_arbol.SetItemState(h,0,TVIS_SELECTED);
m_arbol.SetItemState(concepto,TVIS_SELECTED,TVIS_SELECTED);
m_arbol.SetItemState(concepto,TVIS_SELECTED,TVIS_SELECTED);
CMenu menu;
CPoint point;
GetCursorPos(&point);
menu.LoadMenu(IDR_MENU1);
menu.EnableMenuItem(ID_OPCIN1_B,MF_DISABLED | MF_GRAYED );
menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN,point.x ,point.y ,this);
*pResult = 0;
}
El último nodo del todo y a veces el primero nunca sale el menu al presionar con el botón derecho del ratón sobre ellos. No sé porqué ni como hacer para que salgan seleccionados.
Saludos y Gracias de antemano.