CMFCPropertyGridProperty 值列表?

发布于 2024-12-07 21:16:21 字数 112 浏览 0 评论 0原文

是否有一种标准方法可以在 CMFCPropertyGridProperty 中保存用户可编辑的值列表?我正在考虑一个带有分号分隔符的字符串(这似乎是Windows标准)。如果我想要一个编辑界面,我该如何构建它?

Is there a standard way to hold a user editable list of values in a CMFCPropertyGridProperty? I'm thinking a string with semi-colon delimiter (that seems to be the windows standard). If I want an edit interface for this how would I build that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

木有鱼丸 2024-12-14 21:16:21

一个选项

您可以继承CMFCPropertyGridProperty并重写HasButton,返回TRUE。这将导致省略号(“...”)按钮出现在值字段的右侧。重写 OnClickButton 以提供用于编辑值列表的用户界面。您可以弹出一个带有列表控件的对话框以及在列表中添加/删除/编辑项目的方法。重写FormatProperty以显示值字段中的值列表,并重写ResetOriginalValue并实现代码以恢复您构造的值。

另一个选项

继承CMFCPropertyGridProperty并覆盖OnKillFocus。如果用户输入的值违反了您允许的格式(例如,以分号分隔的整数列表),则会弹出警告并返回 FALSE 以阻止提交编辑。

One option:

You can inherit CMFCPropertyGridProperty and override HasButton, returning TRUE. This will cause an ellipsis ("...") button to appear in the right-hand side of the value field. Override OnClickButton to provide your user interface for editing the list of values. You can pop up a dialog with a list control and a way to add/remove/edit items in the list. Override FormatProperty to display the list of values in the value field, and override ResetOriginalValue and implement code to restore the value you are constructed with.

Another option:

Inherit CMFCPropertyGridProperty and override OnKillFocus. If the user-entered value violates the formatting that you allow (semicolon-separated list of integers, for example), pop up a warning and return FALSE to prevent the edit from being committed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文