通过 CEdit 和 SetWindowText 使用撤消

问题描述 投票:0回答:0

在我派生的

CEditEx
类中,我使用:

SetWindowText(strText);

工作正常,控件已更新。

但是不支持撤销(CTRL + Z)。如果我手动输入更改更改撤消工作。

有没有办法触发它跟踪undo?


示例函数:

void CEditEx::Encode(const CString strTagOpen, const CString strTagClose)
{
    int iStartIndex{};
    int iEndIndex{};

    GetSel(iStartIndex, iEndIndex);
    if (iEndIndex > iStartIndex)
    {
        CString strText;
        GetWindowText(strText);

        strText.Insert(iStartIndex, strTagOpen);
        strText.Insert(iEndIndex + strTagOpen.GetLength(), strTagClose);

        SetWindowText(strText);

        SetSel(iStartIndex, iEndIndex + strTagOpen.GetLength() + strTagClose.GetLength());
    }
}
visual-c++ mfc undo cedit
© www.soinside.com 2019 - 2024. All rights reserved.