Files
coco df489d5640 a
2026-07-03 16:05:30 +08:00

104 lines
2.5 KiB
C++

// 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;
}