【问题标题】:How can I get access to items of a modal dialog in MFC?如何访问 MFC 中模式对话框的项目?
【发布时间】:2011-05-25 09:02:38
【问题描述】:

我只想访问模态对话框中的对象。以下示例将准确解释我正在尝试做的事情:

(此代码无效)

    CAddDlg dlg;
CString S;
dlg.DoModal();
dlg.GetDlgItem(IDC_NAME)->GetWindowTextW(S);
MessageBox(S);

但是断言会失败,我无法获得 Edit 控件的文本。 我该怎么办?

【问题讨论】:

标签: visual-c++ mfc


【解决方案1】:

您无法从外部访问模式对话框的控件。即使可以,这也不是一个好主意。对话框的调用者不应该知道数据在对话框中是如何表示的。现在是编辑控件,将来可能是列表框。

要走的路是声明您在DoModal() 之后调用的getter 函数(如果它返回IDOK)并在那里获取值。

查看Can I return a custom value from a dialog box's DoModal function? 获取一些示例

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多