#pragma once #include "afxdialogex.h" #include "GridCtrl.h" #include "CBaseDlg.h" // CUserManagerDlg 对话框 class CUserManagerDlg : public CBaseDlg { DECLARE_DYNAMIC(CUserManagerDlg) public: CUserManagerDlg(CWnd* pParent = nullptr); // 标准构造函数 virtual ~CUserManagerDlg(); // 对话框数据 #ifdef AFX_DESIGN_TIME enum { IDD = IDD_DIALOG_USER_MANAGER }; #endif private: void InitUserManager(); void FillUserManager(); void AddRow(CGridCtrl* pGridCtrl); void DeleteSelectedRow(CGridCtrl* pGridCtrl); bool IsUsernameDuplicate(const CString& username); private: std::map m_mapRoleDescriptions; // 控件 CGridCtrl m_gridUserManager; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 DECLARE_MESSAGE_MAP() public: virtual BOOL OnInitDialog(); afx_msg void OnGridComboSelChange(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnBnClickedButtonAdd(); afx_msg void OnBnClickedButtonInsert(); afx_msg void OnBnClickedButtonDel(); afx_msg void OnBnClickedOk(); };