// Dial2DTaskList.cpp : implementation file // #include "stdafx.h" #include "GeoMative.h" #include "DialTaskTreeOffline.h" #include "TaskDataOper.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CDialTaskTreeOffline dialog extern int g_UIOffset; CDialTaskTreeOffline::CDialTaskTreeOffline(CWnd* pParent /*=NULL*/) : CDialog(CDialTaskTreeOffline::IDD, pParent) { //{{AFX_DATA_INIT(CDialTaskTreeOffline) //}}AFX_DATA_INIT m_iSptType = 0; m_pParentWnd = NULL; m_dwTaskID = 0; } void CDialTaskTreeOffline::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDialTaskTreeOffline) DDX_Control(pDX, IDC_TREE_TASK_LIST, m_treeTask); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CDialTaskTreeOffline, CDialog) //{{AFX_MSG_MAP(CDialTaskTreeOffline) ON_WM_SHOWWINDOW() // ON_NOTIFY(NM_CLICK, IDC_TREE_TASK_LIST, OnClickTreeTaskList) ON_NOTIFY(TVN_SELCHANGED, IDC_TREE_TASK_LIST, OnSelchangedTreeTaskList) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CDialTaskTreeOffline message handlers BOOL CDialTaskTreeOffline::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here ShowTaskTree(m_iSptType); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CDialTaskTreeOffline::ShowTaskTree(int iSptType) { CTaskDataOper taskOper; taskOper.InitialTaskTreeCtrl(m_treeTask, iSptType); m_treeTask.Expand(m_treeTask.GetRootItem(), TVE_EXPAND); } void CDialTaskTreeOffline::OnShowWindow(BOOL bShow, UINT nStatus) { CDialog::OnShowWindow(bShow, nStatus); if (TRUE == bShow) { CRect rect; GetClientRect(&rect); m_treeTask.MoveWindow(&rect); m_treeTask.ShowWindow(SW_SHOW); } // TODO: Add your message handler code here } void CDialTaskTreeOffline::OnSelchangedTreeTaskList(NMHDR* pNMHDR, LRESULT* pResult) { NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR; // TODO: Add your control notification handler code here HTREEITEM hItem = m_treeTask.GetSelectedItem(); if (NULL == hItem || m_treeTask.GetRootItem() == hItem) { return; } DWORD dwTaskID = m_treeTask.GetItemData(hItem); if (dwTaskID == m_dwTaskID) { return; } m_dwTaskID = dwTaskID; if (m_pParentWnd) { m_pParentWnd->SendMessage(WM_CLICK_TASK_TREE, (WPARAM)m_dwTaskID, 0); } *pResult = 0; }