Files
geomative/GeomativeStudio/h/logging/CDialogLoggingLithologicWnd.h
coco df489d5640 a
2026-07-03 16:05:30 +08:00

67 lines
2.0 KiB
C++

#ifndef C_DIALOG_LOGGING_LITHOLOGIC_WND_H_20190821
#define C_DIALOG_LOGGING_LITHOLOGIC_WND_H_20190821
#include "afxcmn.h"
#include "logging\CLoggingDataOper.h"
#pragma once
typedef struct ST_LITHOLOGY_PROFILE
{
char szLithologyName[MAX_LENGHT_LITHOLOGY_NAME]; //岩性名称
char szLithologyPic[MAX_LENGHT_LITHOLOGY_PICTURE]; //岩性图片
UINT fLithologyType; //岩性类型
float fStartDepth; //起始深度
float fEndDepth; //终止深度
ST_LITHOLOGY_PROFILE()
{
memset(this, 0, sizeof(ST_LITHOLOGY_PROFILE));
}
}STLithologyProfile;
// CDialogLoggingLithologicWnd 对话框
class CDialogLoggingLithologicWnd : public CDialog
{
DECLARE_DYNAMIC(CDialogLoggingLithologicWnd)
public:
CDialogLoggingLithologicWnd(CWnd* pParent = NULL); // 标准构造函数
virtual ~CDialogLoggingLithologicWnd();
void SetStartEndDepth(float fStartDepth, float fEndDepth);
void SetProfileList(std::vector<STLithologyProfile> vecProfileList);
std::vector<STLithologyProfile> GetProfileList();
virtual BOOL OnInitDialog();
afx_msg void OnBnClickedBtnLithologyEditor();
afx_msg void OnBnClickedBtnAddProfile();
afx_msg void OnBnClickedBtnDeleteProfile();
afx_msg void OnBnClickedOk();
afx_msg void OnBnClickedCancel();
afx_msg void OnCbnSelchangeComboLithologyName();
afx_msg void OnPaint();
afx_msg void OnDestroy();
// 对话框数据
enum { IDD = IDD_DIALOG_LOGGING_LITHOLOGIC_WINDOW };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
void QueryLithologyNameFromDB();
void ReleaseComboBox();
DECLARE_MESSAGE_MAP()
private:
// 剖面列表
CListCtrl m_listProfile;
//岩性名称
CComboBox m_comLithologyName;
//列表显示
vector<STLithologyProfile> m_vecProfileList;
float m_fStartDepth;
float m_fEndDepth;
//保存ComboBox岩性名称对应的图片路径,避免频繁操作数据库
map<CString, STLoggingLithologyInfo> m_mapLithologyInfo;
CString m_strCurPicPath;
};
#endif