您可以通过在此示例中调用GetDlgItemText和std :: stod来获取值:
class CAboutDlg : public CDialogEx { CString m_txt; double m_num; public: CAboutDlg() noexcept; // Dialog Data #ifdef AFX_DESIGN_TIME enum { IDD = IDD_ABOUTBOX }; #endif protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support // Implementation protected: DECLARE_MESSAGE_MAP() public: afx_msg void OnBnClickedOk(); }; CAboutDlg::CAboutDlg() noexcept : CDialogEx(IDD_ABOUTBOX) { } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx) ON_BN_CLICKED(IDOK, &CAboutDlg::OnBnClickedOk) END_MESSAGE_MAP() // App command to run the dialog void CSO55114372App::OnAppAbout() { CAboutDlg aboutDlg; aboutDlg.DoModal(); } // CSO55114372App customization load/save methods void CSO55114372App::PreLoadState() { BOOL bNameValid; CString strName; bNameValid = strName.LoadString(IDS_EDIT_MENU); ASSERT(bNameValid); GetContextMenuManager()->AddMenu(strName, IDR_POPUP_EDIT); bNameValid = strName.LoadString(IDS_EXPLORER); ASSERT(bNameValid); GetContextMenuManager()->AddMenu(strName, IDR_POPUP_EXPLORER); } void CSO55114372App::LoadCustomState() { } void CSO55114372App::SaveCustomState() { } // CSO55114372App message handlers void CAboutDlg::OnBnClickedOk() { GetDlgItemText(IDC_EDIT2, m_txt); std::wstring s((LPCTSTR)m_txt); m_num = std::stod(s); CDialogEx::OnOK(); }