CMFCPropertyGridProperty 值列表?
是否有一种标准方法可以在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一个选项:
您可以继承
CMFCPropertyGridProperty
并重写HasButton
,返回TRUE
。这将导致省略号(“...”)按钮出现在值字段的右侧。重写OnClickButton
以提供用于编辑值列表的用户界面。您可以弹出一个带有列表控件的对话框以及在列表中添加/删除/编辑项目的方法。重写FormatProperty
以显示值字段中的值列表,并重写ResetOriginalValue
并实现代码以恢复您构造的值。另一个选项:
继承
CMFCPropertyGridProperty
并覆盖OnKillFocus
。如果用户输入的值违反了您允许的格式(例如,以分号分隔的整数列表),则会弹出警告并返回FALSE
以阻止提交编辑。One option:
You can inherit
CMFCPropertyGridProperty
and overrideHasButton
, returningTRUE
. This will cause an ellipsis ("...") button to appear in the right-hand side of the value field. OverrideOnClickButton
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. OverrideFormatProperty
to display the list of values in the value field, and overrideResetOriginalValue
and implement code to restore the value you are constructed with.Another option:
Inherit
CMFCPropertyGridProperty
and overrideOnKillFocus
. If the user-entered value violates the formatting that you allow (semicolon-separated list of integers, for example), pop up a warning and returnFALSE
to prevent the edit from being committed.