Если какой-либо установленный флажок помешает отображению сообщения после ввода текста, то: Если это элемент управления SingleLineEdit или MultiLineEdit, то в обработчике события modified
текстового элемента управления (т. Е. Элемента управления SingleLineEdit):
String ls_EditControlText
ls_EditControlText = this.Text
// If the text is not empty, and none of the checkboxes are checked, then
// show a message and clear the input
IF NOT IsNull(ls_EditControlText) AND (ls_EditControlText <> "") THEN
// f_na, f_dep, and f_krd are the Checkbox controls
IF NOT (f_na.Checked OR f_dep.Checked OR f_krd.Checked) THEN
MessageBox("Attention", "A new AO code must be filled in")
this.Text = "" // clear the input
END IF
END IF
RETURN
Для элемента управления Edit или EditMask в DataWindow вы бы обработали событие itemchanged
для элемента управления DataWindow:
String ls_EditControlText
ls_EditControlText = data
// If the text is not empty, and none of the checkboxes are checked, then
// show a message and clear the input
IF NOT IsNull(ls_EditControlText) AND (ls_EditControlText <> "") THEN
// f_na, f_dep, and f_krd are the Checkbox controls
IF NOT (f_na.Checked OR f_dep.Checked OR f_krd.Checked) THEN
MessageBox("Attention", "A new AO code must be filled in")
RETURN 2 // Reject the text input data but allow focus to change
END IF
END IF
RETURN 0