#pragma once #include "page.h" // CDlgMgr 对话框 class CDlgMgr : public CDialogEx, public page_config { DECLARE_DYNAMIC(CDlgMgr) public: CDlgMgr(CWnd* pParent = nullptr); // 标准构造函数 virtual ~CDlgMgr(); // 对话框数据 #ifdef AFX_DESIGN_TIME enum { IDD = IDD_MANAGER }; #endif protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 virtual BOOL OnInitDialog(); void reload(std::wstring& cont); bool load_sane_config(std::wstring& jsn_txt); DECLARE_MESSAGE_MAP() known_file_util::IJsonW* sane_cfg_; public: CListCtrl list_; afx_msg void OnBnClickedCheckReport(); afx_msg LRESULT OnDisableIPCtrl(WPARAM, LPARAM); afx_msg void OnBnClickedButtonMaintain(); afx_msg void OnBnClickedButtonAdd(); afx_msg void OnCbnSelchangeComboItem(); afx_msg void OnNMDblclkList1(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnNMDblclkListParam(NMHDR* pNMHDR, LRESULT* pResult); CComboBox combo_; afx_msg void OnBnClickedButtonAddAll(); void init_test_items(known_file_util::IJsonW* json); void add_param(CComboBox* param_ctrl, CComboBox* val_ctrl, CListCtrl* lst, UINT edit_id); void add_param_from_config(CComboBox* param_ctrl, CComboBox* val_ctrl, UINT edit_id, known_file_util::IJsonW* sane, known_file_util::IJsonW* cfg, const wchar_t* key, void(CDlgMgr::* cb_change)(void), void(CDlgMgr::* add_func)(void)); void on_combo_param_changed(CComboBox* param_ctrl, CComboBox* val_ctrl, CListCtrl* lst, UINT edit_id); static void notify_combo_param_changed(void* param); void on_list_param_sel_changed(CComboBox* param_ctrl, CListCtrl* lst, int item, void(CDlgMgr::* cb_sel_change)(void)); bool remove_prompt(CListCtrl* lst, int item, int sub, const wchar_t* title, DWORD_PTR* data = NULL); public: virtual std::wstring export_config(bool* ok, bool used_in_code = false, int code_ver = 1) override; CIPAddressCtrl ip_; afx_msg void OnDropFiles(HDROP hDropInfo); // afx_msg UINT OnGetDlgCode(); afx_msg void OnListPasteClipboard(); afx_msg void OnNMRClickList1(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnListClear(); afx_msg void OnBnClickedButtonAddParam(); CListCtrl lst_write_down_; CListCtrl lst_param_; afx_msg void OnBnClickedButtonClearAll(); CComboBox combo_param_; CComboBox combo_param_val_; afx_msg void OnCbnSelchangeComboParam(); afx_msg void OnLvnItemchangedListParam(NMHDR* pNMHDR, LRESULT* pResult); bool lst_param_trigger_sel_chg_; afx_msg void OnBnClickedButtonAddParam2(); afx_msg void OnBnClickedButtonAddParam3(); CComboBox combo_param2_; CComboBox combo_param_val2_; afx_msg void OnCbnSelchangeComboParam2(); afx_msg void OnNMClickListParamTest(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnNMDblclkListParamTest(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnNMClickList1(NMHDR* pNMHDR, LRESULT* pResult); CComboBox combo_device_; afx_msg void OnBnClickedButtonRefresh(); };