CMFCPropertyGridProperty список значений? - PullRequest
2 голосов
/ 02 октября 2011

Существует ли стандартный способ хранения редактируемого пользователем списка значений в CMFCPropertyGridProperty?Я думаю, строка с разделителем точки с запятой (это, кажется, стандарт Windows).Если я хочу изменить интерфейс для этого, как бы я это сделал?

1 Ответ

2 голосов
/ 03 октября 2011

Один вариант :

Вы можете наследовать CMFCPropertyGridProperty и переопределять HasButton, возвращая TRUE. Это приведет к тому, что кнопка с многоточием ("...") появится в правой части поля значения. Переопределите OnClickButton, чтобы предоставить свой пользовательский интерфейс для редактирования списка значений. Вы можете открыть диалоговое окно с элементом управления списком и способом добавления / удаления / редактирования элементов в списке. Переопределите FormatProperty, чтобы отобразить список значений в поле значения, и переопределите ResetOriginalValue и внедрите код для восстановления созданного вами значения.

Другой вариант :

Наследовать CMFCPropertyGridProperty и переопределять OnKillFocus. Если введенное пользователем значение нарушает допустимое форматирование (например, список целых чисел, разделенных точкой с запятой), выведите предупреждение и верните FALSE, чтобы запретить редактирование.

...