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

90 lines
3.2 KiB
C++

#ifndef _OPENLAYER_H_
#define _OPENLAYER_H_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "resource.h"
// add xly 100613
// 类的功能:打开图层/解冻图层命令显示当前图纸中的所有已关闭、冻结的图层和图层描述,包括外部参照
class COpenLayer : public GlwCAcUiDialog
{
public:
COpenLayer(CWnd* pParent = NULL);
virtual ~COpenLayer();
//{{AFX_DATA(COpenLayer)
enum { IDD = IDD_DLG_OPENLAYER };
CListCtrl m_wndLstLayer; // 存储本图图层的列表框控件
CListCtrl m_wndLstOutLayer; // 存储外部参照图层的列表框控件
//}}AFX_DATA
//{{AFX_VIRTUAL(COpenLayer)
protected:
virtual void DoDataExchange(CDataExchange* pDX);
//}}AFX_VIRTUAL
public:
CStringArray m_csAryLayerAll;// 保存图层名称
CStringArray m_csAryLayerCon;// 保存图层描述
bool m_bOpenorFreeze; // 打开还是解冻
// CRect m_Rect; // 对话框控件的大小
bool m_bHasOutLayer; // 标记是否有外部参照
protected:
//{{AFX_MSG(COpenLayer)
virtual BOOL OnInitDialog();
afx_msg void OnButtonAllSel(); // 全选按钮事件
afx_msg void OnButtonClear(); // 全部清除按钮事件
afx_msg void OnButtonApplication(); // 应用按钮事件
virtual void OnOK();
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
// 改变控件的大小位置关系
void ChangeSize(UINT nType, int cx, int cy);
// 获得列表框中的图层以及图层描述
void GetLockOrFrozLayer();
// add by xly on 110506 获得外部参照中的图层描述
void GetLockOrFrozLayerExt(CStringArray& csLayerExt, CStringArray& csLayerExtAll);
// 打开、解冻制定的图层,打开:bOpenOrFree=true;解冻:bOpenOrFree=false
void UnLockLayer(CString &csCurLayer, bool bOpenOrFree);
private:
// 这些数据用以确定对话框上控件在改变对话框大小的时候,如何改变自身的位置和大小
int SPACE1, SPACE2, SPACE3, SPACE4; // 对话框宽度方向上,控件的间隔
int PSPACE1, PSPACE2, PSPACE3; // 行方向上控件的间隔
int SPACEBTN; // 按钮间隔
int BTNHEI, BTNWID; // 按钮长宽
int LABELHEI, LABEL2Wid; // 注意不需要第一个label的宽度。第一个label的大小和位置是永远不变的。
double SCALE_FOR_LIST;
// 以上所有数据根据按钮高度为基准,确定实际大小。
//////////////////////////////////////////////////////////////////////////
void InitSpaceSize() ; // 填充上述space大小
void LstLayerRect(CRect &rect, int dlgCx, int dlgCy); //
void LstRefLayerRect(CRect &rect, int dlgCx, int dlgCy);
void BtnAllSelRect(CRect &rect, int dlgCx, int dlgCy);
void BtnClearRect(CRect &rect, int dlgCx, int dlgCy);
void BtnApplyRect(CRect &rect, int dlgCx, int dlgCy);
void BtnOkRect(CRect &rect, int dlgCx, int dlgCy);
void BtnCancelRect(CRect &rect, int dlgCx, int dlgCy);
void Label2Rect(CRect &rect, int dlgCx, int dlgCy);
// 将普通的对话框转化成包含外部引用的对话框大小
void BigDlgRect(const CRect &smallRect, CRect &bigRect); //
void Layout(int cx, int cy);
bool IsInitSizeData() {return SPACE1 != -1;}
};
#endif