Esempio n. 1
0
GXLRESULT CWETreeViewReceiver::InvokeNotify( GXNMHDR* pnmhdr )
{
  //CWETreeViewReceiver* pTreeViewReceiver = TryCastReceiver(pReceiver, m_pReceiver);
  //if(pTreeViewReceiver == NULL)
  //  return 0L;

  if( ! gxIsWindow(pnmhdr->hwndFrom)) {
    return -1;
  }

  GXNMTREEVIEW* pnmtv = (GXNMTREEVIEW*)pnmhdr;
  CWETreeView TreeViewWnd(pnmhdr->hwndFrom);

  switch(pnmhdr->code)
  {
  case GXTVN_ITEMEXPANDING:
    return ItemExpanding(&TreeViewWnd, (CWETreeView::Expand)pnmtv->action, &pnmtv->itemNew);
  case GXTVN_ITEMEXPANDED:
    ItemExpanded(&TreeViewWnd, (CWETreeView::Expand)pnmtv->action, &pnmtv->itemNew);
    break;
  case GXTVN_SELCHANGED:
    SelChanged(&TreeViewWnd, (CWETreeView::Change)pnmtv->action, &pnmtv->itemOld, &pnmtv->itemNew);
    break;
  case GXTVN_SELCHANGING:
    return SelChanging(&TreeViewWnd, (CWETreeView::Change)pnmtv->action, &pnmtv->itemOld, &pnmtv->itemNew);
  }
  return 0L;
}
Esempio n. 2
0
BOOL CRepositoryNode::Expand(UINT nCode)
{
	if (!m_bVirtualNode)
		return CRepositoryBaseNode::Expand(nCode);

	if ((nCode & TVE_COLLAPSE) == TVE_COLLAPSE)
		GetTreeView()->DeleteAllItems();
	else if (GetTreeView()->GetCount() == 0)
		ItemExpanding();
	return true;
}