当我按下对话框窗口中的按钮时,如何在该对话框中更改/附加编辑控件框的文本

Posted

技术标签:

【中文标题】当我按下对话框窗口中的按钮时,如何在该对话框中更改/附加编辑控件框的文本【英文标题】:How to change/append the text of edit control box in that dialog when i pressed the push button in dialog window 【发布时间】:2010-06-23 06:55:49 【问题描述】:

我正在使用基于对话框的 vc++/MFC 应用程序来编写计算器程序。在一个对话框中,我添加了一个编辑文本控件和一个按钮。因此,当我单击对话框上的按钮时,我需要更改/附加该对话框中编辑控件框的文本。在 ButtonClicked 方法中使用 Setsel() 和 ReplaceSel() 方法来显示文本,但它不起作用。

显示代码的相关部分和相关文章。

基础

【问题讨论】:

你从哪里剪切和粘贴这个问题?您如何“显示代码的相关部分”以便我们知道您做错了什么? 【参考方案1】:

如果您只想在CEdit 控件中显示一些文本,那么为什么不使用它的SetWindowText 函数呢?

以下内容使用您的 SetSel/ReplaceSel 方法替换内容:

void CTextCtrlAddDlg::OnBnClickedButton1()

    int start = 0;
    int end = m_editControl.GetWindowTextLength();
    m_editControl.SetSel(start, end);
    m_editControl.ReplaceSel(L"Test");

...m_editControl 是编辑控件。如果要在末尾附加文本,只需将选择设置到末尾即可:

void CTextCtrlAddDlg::OnBnClickedButton1()

    int end = m_editControl.GetWindowTextLength();
    m_editControl.SetSel(end, end);
    m_editControl.ReplaceSel(L"Test");

我同意 Goz 的观点;一些示例代码,您可以帮助我们确定哪些不适合您。

【讨论】:

以上是关于当我按下对话框窗口中的按钮时,如何在该对话框中更改/附加编辑控件框的文本的主要内容,如果未能解决你的问题,请参考以下文章

如何在颤动中推动替换删除整个导航堆栈?

当我按 Enter 键时,选项卡控件的选项卡页会关闭

在颤动中打开对话框时检测返回按钮按下

当我按下下载按钮时如何显示带有 CircularProgressIndicator 和下载状态的弹出窗口

如何杀死 MFC 向导按钮的焦点

当我按下特定按钮时关闭上一个窗口[重复]