BOOL CRegressTreeDlg::OnInitDialog(){
	CDialog::OnInitDialog();
	DNAStat_Tree = (CTreeCtrl *)GetDlgItem(IDC_TREE1); 
	
	DepthEdit = (CEdit *)GetDlgItem(IDC_DEPTH);
	CString d;
	d.Format("%d", DNAStat->getDepth());
	DepthEdit->SetWindowText(d);

	try{ 
		DNAStat->toTreeCtrl(DNAStat_Tree, DNAStat_Tree->GetRootItem());
	}
	catch(CString ErrMsg){
		CString Messg2(_T("--> Unable to display CDNAStatement in TreeForm at CRegressTreeDlg::OnInitDialog()"));
		Messg2 = ErrMsg + Messg2;
		ExitError(Messg2);
	}
	    
	ExpandTree(DNAStat_Tree->GetRootItem());

    
	VarEdit	= (CEdit*)GetDlgItem(IDC_X1EDIT); 
	FuncRes	= (CEdit*)GetDlgItem(IDC_FXEDID);
	FuncPrime 	= (CEdit*)GetDlgItem(IDC_PRIMEFX);

	VarEdit->SetWindowText(CString(_T("UNDEF")));
	FuncRes->SetWindowText(CString(_T("UNDEF")));
	FuncPrime->SetWindowText(CString(_T("UNDEF")));

	 return TRUE;  
}
/*
EBaseItem* EXTreeCtrl::GetBaseItem(HTREEITEM hTi)
{
	if(!hTi)
	{
		// First see if an item is active
		if(m_hActiveItem)
		{
			hTi = m_hActiveItem;
			SelectItem(hTi);
			m_hActiveItem = 0;
		}
		else
		{
			if(m_bContextMenuActivated)
			{
				hTi = GetRootItem();
			}
			else
			{
				// Try to get active item
				hTi = GetSelectedItem();
			}
		}

		if(!hTi)
		{
			hTi = GetRootItem();
		}
	}

	if(hTi)
	{
		return reinterpret_cast < EBaseItem * > (GetItemData(hTi));
	}
	return NULL;
}
*/
void EXTreeCtrl::ExpandTree(HTREEITEM hItem,bool bIncludeSub)
{
    if(hItem == NULL)
        hItem = GetRootItem();

    if(hItem)
    {
        Expand(hItem,TVE_EXPAND);

        if(bIncludeSub)
        {
            HTREEITEM ChildItem = GetChildItem(hItem);
            while(ChildItem != NULL)
            {
                Expand(ChildItem,TVE_EXPAND);
                ExpandTree(ChildItem,true);
                ChildItem = GetNextItem(ChildItem,TVGN_NEXT);
            }
        }
    }

    /*
    	if(hItem == NULL)
    		return;

    	Expand(hItem,TVE_EXPAND);
    	HTREEITEM ChildItem = GetChildItem(hItem);
    	do
    	{
    		Expand(ChildItem,TVE_TOGGLE);
    	}
    	while( (ChildItem = GetNextSiblingItem( ChildItem )) != NULL );
    */
}
示例#3
0
/////////////////////////////////////////////////////////////////////////////
// CSettingsDialog message handlers
//
BOOL CSettingsDialog::OnInitDialog() 
{
	CDialog::OnInitDialog();

	// TODO: Add extra initialization here
	m_PageFrame.GetWindowRect(m_FrameRect);
	ScreenToClient(m_FrameRect);
	m_FrameRect.DeflateRect(2,2);

	SetWindowText(m_csTitle);

	// Set some styles for indicator bar
	m_CaptionBarCtrl.m_textClr     = ::g_PaintManager->GetColor(COLOR_3DFACE);
	m_CaptionBarCtrl.m_fontWeight  = FW_BOLD;
	m_CaptionBarCtrl.m_fontSize    = 14;
	m_CaptionBarCtrl.m_csFontName  = "Segoe UI";
	m_CaptionBarCtrl.SetConstantText(m_csLogoText);

	InitTreeCtrl();		// Initialize the tree control with options
	ExpandTree();
	if (m_pInfo.GetAt(0)) ShowPage(m_pInfo.GetAt(0));
	if (!m_pParent) 
	{
		GetDlgItem(IDAPPLY)->EnableWindow(FALSE);
	}
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
void CRegressTreeDlg::ExpandTree(HTREEITEM Branch){ 
        DNAStat_Tree->Expand(Branch, TVE_EXPAND);
        if(DNAStat_Tree->ItemHasChildren(Branch)){
                HTREEITEM Kid =  DNAStat_Tree->GetNextItem(Branch, TVGN_CHILD);
                while(Kid){
                    ExpandTree(Kid);
                    Kid = DNAStat_Tree->GetNextItem(Kid, TVGN_NEXT);
                }    
        }
}
示例#5
0
void CMultiSelTreeCtrl::OnItemExpanding(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
	
	HTREEITEM parent=m_LastParent;

	while( 1 )
	{
		//		If expanding/collapsing node is a parent of selected items, 
		//		unselect all.
		//		No need to check pNMTreeView->action, since no items will 
		//		be selected under parent if expanding, and all must be 
		//		cleared while deleting
		//
		if(pNMTreeView->itemNew.hItem == parent)
		{
			UnselectAll();
			break;
		}
		
		if(parent == NULL || parent == TVI_ROOT)
			break;

		parent=GetParentItem(parent);
	}

	//		whenever we expand a folder, we have to call both p4 dirs 
	//		and p4 fstat for that subdirectory. ExpandTree is a 
	//		virtual function in depotview that does this.
	//
	if ( pNMTreeView->action == TVE_EXPAND )
		ExpandTree( pNMTreeView->itemNew.hItem );
	else if ( pNMTreeView->action == TVE_COLLAPSE )
		CollapseTree( pNMTreeView->itemNew.hItem );

	// wait at least 20 secs before autopolling for updates
	MainFrame()->WaitAWhileToPoll();

	*pResult = 0;
}
void EXTreeCtrl::RefreshDataItem(IXTreeItem *pITreeItem)
{
    HTREEITEM hItem = NULL;
    if(pITreeItem)
    {
        hItem = FindItemInSubTree(GetRootItem(),pITreeItem);
    }
    else
    {
        // Get Item
        hItem = GetSelectedItem();
    }

    if(hItem)
    {
        IXTreeItem *pTree = (IXTreeItem*)GetItemData( hItem );
//		EBaseItem *pBase = (EBaseItem*)GetItemData( hItem );
//		IXTreeItem *pTree = pBase->m_pITreeMember;

        HTREEITEM hParentItem;
        if(hItem != GetRootItem())
            hParentItem = GetParentItem(hItem);
        else
            hParentItem = hItem;

        if(hParentItem)
        {
            RefreshSubItems(hParentItem);
            ExpandTree(hParentItem);

            // Find new item
            hItem = FindItemInSubTree(hParentItem,pTree);

            EnsureVisible(hItem);
            SelectItem(hItem);
        }
    }
}
示例#7
0
//初始化浏览器控件(nID为资源文件中树型控件的id)
BOOL Init_Browser(HWND hWnd,UINT nID)
{
	HIMAGELIST hImageList;
   LPSHELLFOLDER lpsf = 0 ;
   SHFILEINFO    sfi;
	HRESULT hr ;
	BOOL bOK;

	memset(szFoldername,0,MAX_PATH);
   hTreeWnd=GetDlgItem(hWnd,nID);

   hImageList = (HIMAGELIST)SHGetFileInfo((LPCSTR)"C:\\",
                                           0,
                                           &sfi,
                                           sizeof(SHFILEINFO),
                                           SHGFI_SYSICONINDEX | SHGFI_SMALLICON) ;

  	if(hImageList)
   	TreeView_SetImageList(hTreeWnd,hImageList,0);

	hr=SHGetDesktopFolder(&lpsf) ;

	if( SUCCEEDED(hr))
	{
	   TreeView_DeleteAllItems(hTreeWnd);
	   FillTreeView(hTreeWnd,lpsf,NULL,TVI_ROOT) ;
      ExpandTree();
      TreeView_SelectItem(hTreeWnd,TreeView_GetRoot(hTreeWnd));//,TVGN_FIRSTVISIBLE);
      bOK = TRUE;
	}
   else
   	bOK = FALSE;

	if(lpsf)
		lpsf->Release();
	return bOK;
}