Files
envi-code/SourceCode/Code2026/tg_shs/shs_kerncmd/LabelSetDlg.h
T
2026-09-28 15:28:50 +08:00

118 lines
2.4 KiB
C++

// 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__)