【发布时间】:2011-11-29 05:39:46
【问题描述】:
是否有一种标准方法可以在 CMFCPropertyGridProperty 中保存用户可编辑的值列表?我在想一个带有分号分隔符的字符串(这似乎是 Windows 标准)。如果我想要一个编辑界面,我将如何构建它?
【问题讨论】:
标签: list mfc mfc-feature-pack
是否有一种标准方法可以在 CMFCPropertyGridProperty 中保存用户可编辑的值列表?我在想一个带有分号分隔符的字符串(这似乎是 Windows 标准)。如果我想要一个编辑界面,我将如何构建它?
【问题讨论】:
标签: list mfc mfc-feature-pack
一个选项:
您可以继承CMFCPropertyGridProperty 并覆盖HasButton,返回TRUE。这将导致省略号(“...”)按钮出现在值字段的右侧。覆盖OnClickButton 以提供用于编辑值列表的用户界面。您可以弹出一个带有列表控件的对话框以及在列表中添加/删除/编辑项目的方法。覆盖 FormatProperty 以在值字段中显示值列表,并覆盖 ResetOriginalValue 并实现代码以恢复构造时使用的值。
另一种选择:
继承 CMFCPropertyGridProperty 并覆盖 OnKillFocus。如果用户输入的值违反了您允许的格式(例如,以分号分隔的整数列表),则弹出警告并返回 FALSE 以防止提交编辑。
【讨论】: