112 lines
3.5 KiB
C++
112 lines
3.5 KiB
C++
#if !defined(AFX_DRAWLANDSCAPE_H__)
|
|
#define AFX_DRAWLANDSCAPE_H__
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
#include "Resource.h"
|
|
#include "afxwin.h"
|
|
#include "LandScapeStyle.h"
|
|
#include "GsPreviewCtrl.h"
|
|
// CDrawLandScape dialog
|
|
|
|
namespace
|
|
{
|
|
struct blockName//图块名
|
|
{
|
|
CString strOldName;//原始名字
|
|
CString strNewName;//调整的名字
|
|
};
|
|
}
|
|
|
|
class CDrawLandScapeDlg :public CModelessDialog
|
|
{
|
|
DECLARE_DYNAMIC(CDrawLandScapeDlg)
|
|
|
|
public:
|
|
CDrawLandScapeDlg(CWnd* pParent = NULL); // standard constructor
|
|
virtual ~CDrawLandScapeDlg();
|
|
|
|
// Dialog Data
|
|
enum { IDD = IDD_DLG_LANDSCAPE };
|
|
public:
|
|
void UpdatePreview(); //预览
|
|
double GetRoadWidth(); //获取路宽
|
|
double GetGap(); //获取间距
|
|
int GetWidthPercent(); //获取百分比
|
|
int GetDrawType(); //获取绘制类型
|
|
double GetUnitRealWidth(); //获取计算后的路宽
|
|
BOOL GetRoadLineState(); //获取是否绘制路边线
|
|
BOOL GetAutoAdjustState(); //获取是否自调
|
|
double GetBlockWidth(); //获取图块宽
|
|
double GetBlockLen(); //获取图块长
|
|
double GetRoadWidthMM();
|
|
BOOL GetIsUnitPercent(){return m_bIsUnitPercent;}
|
|
AcDbObjectId GetLandScapeId(); // 获得图块的ID
|
|
void layerInit(); //创建图层
|
|
BOOL IsBlockInCurDwg(AcDbObjectId& blockId);
|
|
BOOL AddTip(UINT idControl,const TCHAR *str);
|
|
virtual BOOL PreTranslateMessage(MSG* pMsg);
|
|
afx_msg BOOL OnToolTipText( UINT, NMHDR * pNMHDR, LRESULT * pResult );
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
afx_msg void OnBnClickedBtnSelectpath();
|
|
afx_msg void OnBnClickedBtnDynamicdraw();
|
|
afx_msg void OnStnClickedStaticShowpic();
|
|
afx_msg void OnBnClickedBtnRoadwidth();
|
|
afx_msg void OnBnClickedChkUnitwidthpercent();
|
|
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
|
|
afx_msg void OnEnKillfocusEdtRoadwidth();
|
|
afx_msg void OnBnClickedChkDrawroadline();
|
|
afx_msg void OnBnClickedChkAutoAdjust();
|
|
afx_msg void OnEnKillfocusEdtUnitgap();
|
|
afx_msg void OnBnClickedChkAutoadjust();
|
|
afx_msg void OnEnKillfocusEdtUnitwidthpercent();
|
|
afx_msg void OnClose();
|
|
afx_msg void OnPaint();
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
virtual BOOL OnInitDialog();
|
|
CString setFormatStyle(double dData);
|
|
CString blockNameAdjust(CString& stroldName);//图块名调整处理函数
|
|
void blocknameInit(std::vector<blockName>& name);//图块名vector初始化
|
|
void SetButtonCheck(int nbtnSerial);
|
|
void SetPicture();
|
|
BOOL JudgeBlockFile(); //判断图库是否存在
|
|
CToolTipCtrl m_wndToolTip;
|
|
|
|
protected:
|
|
double m_dUnitGap; //间距
|
|
double m_dRoadWidth; //路宽
|
|
double m_dRoadWidthMM; //路宽(毫米单位)
|
|
CString m_csRoadWidth;
|
|
double m_dUnitRealWidth; //单元路况百分比
|
|
static CString m_edtStyles; //样式名称
|
|
int m_edtPercent; //单元宽百分比
|
|
BOOL m_bRodaLine; //是否路边线
|
|
BOOL m_bAutoAdjust; //是否自调
|
|
BOOL m_bIsUnitPercent; //是否单元宽百分比
|
|
|
|
double m_dBlockWidth; //块长宽
|
|
double m_dBlockLen; //图块长
|
|
static CString m_strBlockName; //图块名 xx(YYYY)
|
|
|
|
static int m_iDrawType; //绘制类型
|
|
CEdit m_wndEdtRoadWidth; //路宽
|
|
CEdit m_wndEdtGap; //间距
|
|
public:
|
|
CGsPreviewCtrl m_PreviewCtrl; // 预览类
|
|
CImageDC m_imgPreview; // 幻灯片预览的DC
|
|
AcDbDatabase m_PreviewDb; // 预览数据库
|
|
static AcDbObjectId m_idLandScapeRoadStyle; // 图块的ID
|
|
|
|
static CDrawLandScapeDlg *g_pCurDlg;
|
|
BOOL m_bExit; //退出标识
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
#endif //AFX_DRAWLANDSCAPE_H__
|