#if !defined(AFX_SINGLEPLACETREEDLG_H_) #define AFX_SINGLEPLACETREEDLG_H_ #if _MSC_VER > 1000 #pragma once #endif #include "Resource.h" #include "GsPreviewCtrl.h" // 任意布树对话框类 class CSinglePlaceTreeDlg : public CModelessDialog { public: CSinglePlaceTreeDlg(CWnd* pParent = NULL); virtual ~CSinglePlaceTreeDlg(); int GetDrawType(); // 树的绘制类型 bool m_bUseEsc; // 标记退出类型 enum { IDD = IDD_DLG_SINGLEPLACETREE }; private: int m_iTreeType; // 树形选择方式 int m_iDrawStyle; // 绘制方式 CString m_csRad; // 树半径编辑框数据 CString m_csDis; // 树间距编辑框数据 BOOL m_bIsRotation; // 随机旋转 BOOL m_bIsSetDis; // 间距可调 BOOL m_bIsRandSize; // 设置是否随机大小 CString m_csOffset; //偏移编辑框数据 AcDbObjectId m_idTreeStyle; // 图块的ID HICON m_hIcon; // 按钮的图片 CImageDC m_imgPreview; // 幻灯片预览的DC CGsPreviewCtrl m_PreviewCtrl; // 预览类 AcDbDatabase m_PreviewDb; // 预览数据库 protected: virtual BOOL OnInitDialog(); virtual void DoDataExchange(CDataExchange* pDX); protected: afx_msg void OnBnClickedButPick(); afx_msg void OnBnClickedButRad(); afx_msg void OnBnClickedButDis(); afx_msg void OnPaint(); afx_msg void OnClose(); afx_msg void OnBnClickedDrawStyle(); afx_msg void OnBnClickedTreeFormSelect(); afx_msg void OnChkRandSize(); afx_msg void OnChkRotation(); afx_msg void OnChkSetDis(); //afx_msg void OnBnClickedButOffset(); afx_msg void OnEnChangeEdtOffset(); afx_msg void OnEnChangeEdtRad(); afx_msg void OnEnChangeEdtDis(); DECLARE_MESSAGE_MAP() private: void SetWindowHide(bool); // 隐藏对话框 void GetDis(CString&, bool); // 点取树的半径和树间距 CString GetFormatData(double dData); // 根据需求修改编辑框中数据的显示格式 AcDbObjectId GetTgTreeBlockId(XString sBlockName); // 获得天正图库中图块的ID void SetPicture(CString &csFile); // 设置幻灯片 void UpdatePreview(); // 预览块以及外部的dwg文件 void UpdateControlState(); }; #endif