gpt4 book ai didi

c++ - 调用 UpdateData(TRUE) 后 CString 值发生变化

转载 作者:行者123 更新时间:2023-11-28 03:51:18 25 4
gpt4 key购买 nike

我有一个应用程序,其中有一个编辑框。此编辑框允许用户输入最多 20 个字符的任何字符。

现在我已经编写了一个函数来处理事件的编辑更改

ON_EN_CHANGE

void CDlgFloatingEdit::OnEditChanged() {    UpdateData(TRUE); }

现在,当我在调试时输入 20 个字符的文本值时,我发现直到在此函数中调用 UpdateData(TRUE),CString 的值才能正确保存,一旦调用 UpdateData(TRUE),该值就会得到设置为 NULL。

当我将所有字符输入为 4 时的另一个观察结果,它可以正常工作。但是,当我将所有字符输入为 1 时,该值将设置为 NULL。

我不知道为什么会发生这种情况。

最佳答案

UpdateData 总是将控件中的数据复制到对话框数据成员中,这就是它的功能。它将立即应用任何 DDV 数据验证,包括字段的 20 个字符限制。如果验证失败,它应该显示错误,但即使没有,它也可能会清除 CString 数据成员。

关于c++ - 调用 UpdateData(TRUE) 后 CString 值发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5428568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com