#pragma once
#include "resource.h"
#include "Globe.h"

// CDlgMarker 对话框

class CDlgMarker : public CBCGPDialog
{
	DECLARE_DYNAMIC(CDlgMarker)

public:
	CDlgMarker(CWnd* pParent = NULL);   // 标准构造函数
	virtual ~CDlgMarker();

// 对话框数据
	enum { IDD = IDD_DIALOG_MARKER };

protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

	DECLARE_MESSAGE_MAP()

public:
	CString m_strMarkerConfig;

	CBCGPTreeCtrl m_treeMarkers;
	int m_iSelectedIndex;

public:
	virtual BOOL OnInitDialog();

	//功能:移动对话框到给定的显示区域
	//输入:显示区域rcArea
	void MoveToGivenArea(const CRect rcArea);

	//读取标记点配置文件(删去名称为空的标记点),更新树控件
	void RewriteMarkerConfig();

	//在地图上选择标记点
	afx_msg void OnBnClickedButtonSelectMarker();

	//显示标记点坐标到编辑框
	void ShowMarkerCoordinate(double& markerLon, double& markerLat);

	//添加标记点
	afx_msg void OnBnClickedButtonAddMarker();

	//展开所有的子根节点
	void MyExpandTree(HTREEITEM hTreeItem);

	//设置某节点的子节点的选中状态
	void SetChildCheck(HTREEITEM item, BOOL bCheck);

	//设置某节点的父节点的选中状态
	void SetParentCheck(HTREEITEM item, BOOL bCheck);

	//删除标记点
	afx_msg void OnBnClickedButtonDeleteMarker();

	//单击树控件的响应事件函数
	afx_msg void OnNMClickTreeMarkers(NMHDR *pNMHDR, LRESULT *pResult);
};