SelectTreeCtrl.cpp
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:3k
- // SelectTreeCtrl.cpp : implementation file
- //
- // This file is a part of the XTREME TOOLKIT PRO MFC class library.
- // (c)1998-2008 Codejock Software, All Rights Reserved.
- //
- // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
- // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
- // CONSENT OF CODEJOCK SOFTWARE.
- //
- // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
- // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
- // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
- // SINGLE COMPUTER.
- //
- // CONTACT INFORMATION:
- // support@codejock.com
- // http://www.codejock.com
- //
- /////////////////////////////////////////////////////////////////////////////
- #include "stdafx.h"
- #include "treectrl.h"
- #include "SelectTreeCtrl.h"
- #include "TreeCtrlDlg.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // CSelectTreeCtrl
- CSelectTreeCtrl::CSelectTreeCtrl()
- : m_pParentDlg(NULL)
- {
- }
- CSelectTreeCtrl::~CSelectTreeCtrl()
- {
- }
- BEGIN_MESSAGE_MAP(CSelectTreeCtrl, CTreeCtrl)
- //{{AFX_MSG_MAP(CSelectTreeCtrl)
- ON_WM_NCPAINT()
- ON_WM_SETFOCUS()
- ON_WM_KILLFOCUS()
- ON_NOTIFY_REFLECT(TVN_SELCHANGED, OnSelChanged)
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CSelectTreeCtrl message handlers
- void CSelectTreeCtrl::OnNcPaint()
- {
- Default();
- if (m_pParentDlg && m_pParentDlg->m_pTreeFocus == this)
- {
- CWindowDC dc(this);
- CXTPWindowRect rc(this);
- rc.OffsetRect(-rc.TopLeft());
-
- dc.Draw3dRect(rc, RGB(0,0,255),RGB(0,0,255));
- rc.DeflateRect(1,1);
- dc.Draw3dRect(rc, RGB(0,0,255),RGB(0,0,255));
- }
-
- // Do not call CTreeCtrl::OnNcPaint() for painting messages
- }
- void CSelectTreeCtrl::OnSetFocus(CWnd* pOldWnd)
- {
- CTreeCtrl::OnSetFocus(pOldWnd);
- if (::IsWindow(m_pParentDlg->GetSafeHwnd()))
- m_pParentDlg->SetTreeFocus(this);
- }
- void CSelectTreeCtrl::OnKillFocus(CWnd* pNewWnd)
- {
- CTreeCtrl::OnKillFocus(pNewWnd);
- if (::IsWindow(m_pParentDlg->GetSafeHwnd()))
- m_pParentDlg->SetTreeFocus(this);
- }
- void CSelectTreeCtrl::PreSubclassWindow()
- {
- CTreeCtrl::PreSubclassWindow();
- m_pParentDlg = DYNAMIC_DOWNCAST(CTreeCtrlDlg, GetParent());
- ASSERT_VALID(m_pParentDlg);
- CBitmap bitmap;
- bitmap.LoadBitmap(IDB_TREE_IMAGES);
- m_imageList.Create(16, 16, ILC_COLOR24|ILC_MASK, 2, 1);
- m_imageList.Add(&bitmap, RGB(0,255,0));
- SetImageList(&m_imageList, TVSIL_NORMAL);
- }
- void CSelectTreeCtrl::OnSelChanged(NMHDR* pNMHDR, LRESULT* pResult)
- {
- NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
-
- UNREFERENCED_PARAMETER(pNMTreeView);
-
- // TODO: Add your control notification handler code here
- m_pParentDlg->EnableProperties();
-
- *pResult = 0;
- }