Files
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

224 lines
5.5 KiB
C++

#if !defined(_SPACE_PROPERTY_H)
#define _SPACE_PROPERTY_H
#include "GsPreviewCtrl.h"
#include "buildingArea.h"
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// SpaceProperty.h : header file
//
class XSpaceAttrib {
public:
XString m_sName;
double m_nValue;
XSpaceAttrib() {}
XSpaceAttrib(const char *n, double v): m_sName(n), m_nValue(v) {}
};
//----------------------------start----------------------------
// sg add 081119,房间对象填充使用
class CHatchPreviewCtrl: public CGsPreviewCtrl
{
protected:
AcDbDatabase m_dbPreview;
XString m_sPattern;
double m_xSize, m_ySize;
double m_nScale; // 填充比例,默认100
int m_nColorPattern; // 填充的颜色,默认7
int m_nColorFrame;
AcDbObjectIdArray m_idArray;
double m_nLineWeight; // 线宽,模型空间尺寸
double m_dAngle; // 角度,角度制
// add dy xly on 100908 支持真彩色的使用
AcCmColor m_cColor;
public:
CHatchPreviewCtrl();
void UpdateView();
void SetPattern(const TCHAR *pszPattern) {
m_sPattern = pszPattern;
}
void SetSize(double x, double y) {
m_xSize = x;
m_ySize = y;
}
void SetScale(double scale) {
m_nScale = scale;
}
void SetColorPattern(int iColor) {
m_nColorPattern = iColor;
}
void SetColorFrame(int iColor) {
m_nColorFrame = iColor;
}
void SetLineWeight(double val) {
m_nLineWeight = val;
}
const TCHAR *GetPattern() const {
return (const TCHAR *)m_sPattern;
}
double GetXSize() const {
return m_xSize;
}
double GetYSize() const {
return m_ySize;
}
double GetScale() const {
return m_nScale;
}
int GetColorPattern() const {
return m_nColorPattern;
}
int GetColorFrame() const {
return m_nColorFrame;
}
double GetLineWeight() const {
return m_nLineWeight;
}
// sg add 090122
void SetAngle(double dVal) {
m_dAngle = dVal;
}
double GetAngle() const {
return m_dAngle;
}
// add by xly on 100908 支持真彩色使用
void SetColorPattern1(AcCmColor iColor)
{
m_cColor = iColor;
}
};
//----------------------------end----------------------------
/////////////////////////////////////////////////////////////////////////////
// CSpaceProperty dialog
// sg modify 081124,增加有关填充部分的设置
class CSpaceProperty : public GlwCAcUiDialog
{
// Construction
public:
CSpaceProperty(BOOL bHouse,CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CSpaceProperty)
enum { IDD = IDD_SPACE_PROPERTY };
CListBox m_listTexts;
CString m_csCode;
CString m_csStaticCode;
CString m_csName;
CString m_csStaticName;
// CString m_csHeight;//del by fxj 090602 去掉高度项
CString m_csFloorThick;
BOOL m_bMask;
BOOL m_bHas3D;
// BOOL m_bShowCode;//del by fxj 090602
BOOL m_bShowArea;
BOOL m_bShowUnit;
// add by xly 100907 粉刷层厚的变量
CString m_csPaintLayerWid; // 粉刷层厚的变量
//}}AFX_DATA
DList<XSpaceAttrib> m_lstAttribs;
XStringList m_lstSpaceCodes, m_lstSpaceNames;
BOOL m_bShowCodeList;
//------add by fxj 080623
int m_nType; // 面积类型
BOOL m_bShowOutline;
BOOL m_bHalArea;
BOOL m_bHouse;
//---------------------
BOOL m_bSpaceCode; // sg add 081119,是否标注房间编号、名称,替换原来的m_bShowCode
BOOL m_bSpaceName;
// sg add 081124,与填充相关内容的数据
BOOL m_bShowHatch; // 是否使用填充
CString m_csHatch; // 填充样式
CHatchPreviewCtrl m_wndHatch;
// Zyu modify on 100322,CAcUiColorComboBox换成CAcUiTrueColorComboBox控件
// Begin
#if (ADS < 16)
CAcUiColorComboBox m_ctlColor;
#else
CAcUiTrueColorComboBox m_ctlColor;
#endif
// End
// modify by xly on 100908 真彩色的使用
//int m_nColor; // 填充颜色索引号
AcCmColor m_cColor; // 填充颜色
double m_dHatchScale; // 填充比例
double m_nHatchAngle; // 填充转角
double m_dSpareAngle; // 备用数据
//---------------------
// sg add 090121
CSpinButtonCtrl m_angleSpin; // 角度
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CSpaceProperty)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
public: // sg add 081124
virtual BOOL DestroyWindow();
void UpdatePreview();
// add by xly 编辑套内面积对象时修改控件的显示文字
void SetCtrlText(bool bIsTaoNei);
protected:
virtual void PostNcDestroy(); // sg add 081124
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CSpaceProperty)
virtual BOOL OnInitDialog();
afx_msg void OnSetfocusCode();
afx_msg void OnSetfocusName();
afx_msg void OnSelchangeTextlist();
afx_msg void OnEditname();
afx_msg void OnHas3D();
afx_msg void OnSelchangeType();
afx_msg void OnBnClickedCheckSpaceCode(); // sg add 081119
afx_msg void OnBnClickedCheckSpaceName();
// sg add 081124
afx_msg void OnClickHatch(); // 是否使用填充
afx_msg void OnStaticStyle(); // 选择填充效果
afx_msg void OnSelchangeComboColor(); // 切换填充颜色
// sg add 081202
afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
// sg add 090218
afx_msg void OnChangeEditSpaceAngle();
afx_msg void OnKillFocusScale();//add by fxj 090427
afx_msg void OnClickArea();//add by fxj 090514
afx_msg void OnKillFocusThick();//add by fxj 090521
afx_msg void OnKillFocusLayerWid();// add by xly on 100913
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
#endif //