#pragma once
|
#include "afxdialogex.h"
|
#include "RecipeManager.h"
|
|
// CRecipeDeviceBindDlg 对话框
|
|
class CRecipeDeviceBindDlg : public CDialogEx
|
{
|
DECLARE_DYNAMIC(CRecipeDeviceBindDlg)
|
|
public:
|
CRecipeDeviceBindDlg(CWnd* pParent = nullptr); // 标准构造函数
|
virtual ~CRecipeDeviceBindDlg();
|
|
const RecipeInfo& GetRecipeInfo() const;
|
void SetRecipeInfo(const RecipeInfo& info);
|
|
// 对话框数据
|
#ifdef AFX_DESIGN_TIME
|
enum { IDD = IDD_DIALOG_RECIPE_DEVICE_BIND };
|
#endif
|
|
protected:
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
virtual BOOL OnInitDialog();
|
afx_msg void OnClose();
|
afx_msg void OnSize(UINT nType, int cx, int cy);
|
afx_msg void OnBnClickedOk();
|
DECLARE_MESSAGE_MAP()
|
|
private:
|
void ReleaseDeviceControls();
|
void CreateDeviceControls(int nXStart, int nYStart, int nTotalControlWidth, int nRowHeight);
|
bool FillDeviceInfo(int idx, int nDeviceID, const CString& strDeviceName, int nSelectedRecipeID = -1);
|
bool FillComboRecipeList(CComboBox* pCombo, int nDeviceID, int nSelectedRecipeID = -1);
|
|
struct DeviceWidget {
|
CEdit* editDeviceID;
|
CEdit* editDeviceName;
|
CComboBox* comboRecipeID;
|
};
|
|
CFont m_font;
|
CString m_strPPID;
|
CString m_strDesc;
|
RecipeInfo m_recipe;
|
std::vector<DeviceWidget> m_vecDevices;
|
};
|