118 lines
2.6 KiB
C++
118 lines
2.6 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__)
|