#pragma once #include "afxwin.h" #include // CDBSetting ´ëÈ­ »óÀÚÀÔ´Ï´Ù. struct DBSetting { enum { DB_TYPE = 0, DB_ADDR = 1, DB_NAME = 2, DB_USER = 3, DB_PASS = 4, MAX_DBDATA = 5 }; CString m_szDBData[MAX_DBDATA]; }; class CDBSetting : public CDialog { DECLARE_DYNAMIC(CDBSetting) public: CDBSetting(const TCHAR* szWindowTitle, const DBSetting& dbSetting, CWnd* pParent = NULL); // Ç¥ÁØ »ý¼ºÀÚÀÔ´Ï´Ù. virtual ~CDBSetting(); // ´ëÈ­ »óÀÚ µ¥ÀÌÅÍÀÔ´Ï´Ù. enum { IDD = IDD_DBINFO }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV Áö¿øÀÔ´Ï´Ù. DECLARE_MESSAGE_MAP() public: DBSetting& GetDBSetting() { return m_DBSetting; } static void CreateDBInfoString(const DBSetting& dbSetting, CString& szDBInfo); static bool CreateDBSettingDlg(const TCHAR* szWindowTitle, const TCHAR* szDBInfoFooter, DBSetting& dbSetting, CString& szDBInfo); private: virtual BOOL OnInitDialog(); virtual void OnOK(); afx_msg void OnCbnSelchangeDbType(); CComboBox m_cbDBType; CEdit m_edDBInfo[DBSetting::MAX_DBDATA]; DBSetting m_DBSetting; CString m_szWindowTitle; CString m_szDBAddrLabel; CString m_szDBNameLabel; };