Флаг
DIF_3STATE указывает на то, что элемент
DI_CHECKBOX будет иметь 3 состояния:
[ ] - выключено (FarDialogItem.Selected = 0)
[x] - включено (FarDialogItem.Selected = 1)
[?] - неопределённо (FarDialogItem.Selected = 2)
Применяя флаг
DIF_3STATE, необходимо помнить о том, что ожидает пользователь, работая с таким CheckBox`ом. Т.е. если пользователь выбрал
неопределённое состояние чекбокса, то опция, которой управляет этот чекбокс, должна вообще игнорироваться при дальнейшей работе. Ярким примером является
диалог работы с файловыми атрибутами:
[ ] - сбросить атрибут
[+] - установить атрибут
[?] - ничего с данным атрибутом не делать