// LabelSetDlg.h: interface for the CLabelSetDlg class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_LABELSETDLG_H__) #define AFX_LABELSETDLG_H__ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "resource.h" #include "OpeningLabelData.h" // 编号编辑表格 class TLabelEditGrid : public WDGrid { public: TLabelEditGrid(); ~TLabelEditGrid(); public: enum LabelEditGridFlag{ eUnKnow = 0, eModify = 1, eDelete = 2, }; public: // 初始化 void Init(const ArLabelPair &arLabelPair); void GetDatas(ArLabelPair &arLabelPair); // 设置grid的类型,门、窗、弧窗类型为true,其他为false; void SetStyleFromDoor(bool bCommon = TRUE); protected: // 单元内容将改变为text,返回值代表是否确定 virtual bool OnModified(WDGridCell&cell,CString &text); // 内容改变,支持行列数变化、单元格内容变化 virtual void OnDataChanged(); // 返回值代表是否确定 virtual bool OnBeforeDeleteRow(); protected: // 更改、删除标记 LabelEditGridFlag m_eFlag; // 记录在modify中北更改的行 int m_nNullRow; }; // 编号设置对话框类 class CLabelSetDlg : public CModelessDialog { public: CLabelSetDlg(CWnd* pParent = NULL); ~CLabelSetDlg(); // Dialog Data //{{AFX_DATA(CLabelSetDlg) enum { IDD = IDD_DIALOG_LABEL_EDIT }; //}}AFX_DATA public: void ConDataTable(); private: void OnAddType(); void OnRemType(); //add by lgy 20120511 设置四舍五入,窗宽计算位置是否置灰 void SetRoundGray(BOOL bSet); void SetWinWidthGray(BOOL bSet); //{{AFX_VIRTUAL(CLabelSetDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support virtual BOOL OnInitDialog(); //}}AFX_VIRTUAL // Implementation protected: //{{AFX_MSG(CLabelSetDlg) virtual void OnOK(); afx_msg void OnClickRadSize(); afx_msg void OnClickRadNum(); afx_msg void OnClickChkHyphen(); afx_msg void OnClose(); afx_msg void OnDoorTypeSelChange(); //}}AFX_MSG DECLARE_MESSAGE_MAP() private: // 编号规则,按照尺寸,或者按照顺序 int m_nSerialRule; // 是否添加连字符'-' int m_nHyphen; CComboBox m_cmbDoorType; TLabelEditGrid m_gridLabel; // 数据 TLabelSetDataTable m_dataTable; // 记录comBox所选择的项的索引 int m_nSel; // static int m_nSelRec; // 记忆当前选择的项,跟上一个变量有着稍微微弱的区别 BOOL m_bChkRound;//add by lgy 20120424 四舍五入 int m_nWinWidthLocal;//记录窗宽计算位置,0,1, 2对应墙角阴面、墙中心线、墙角阳面 }; #endif // !defined(AFX_LABELSETDLG_H__)