DI_PSWEDIT описывает поле ввода пароля - то же, что и элемент DI_EDIT, но вводимый текст на экране отрисовывается символами '*'.
struct FarDialogItem
{
enum FARDIALOGITEMTYPES Type = DI_PSWEDIT
intptr_t X1 = X1
intptr_t Y1 = Y
intptr_t X2 = X2
intptr_t Y2 = Y (равен значению Y1)
FARDIALOGITEMFLAGS Flags = Flags
const wchar_t *Data = редактируемый текст
};
Внимание!
DI_PSWEDIT имеют значения следующие флаги:
| Флаг | Описание |
|---|---|
| DIF_DEFAULTBUTTON | флаг, означающий, что данный элемент диалога является "элементом по умолчанию" |
| DIF_FOCUS | определяет, что при показе диалога установить клавиатурный фокус ввода на данный элемент |
| DIF_DISABLE | элемент является недоступным |
| DIF_READONLY | переводит строки редактирования в состояние "только для чтения" |
| DIF_SELECTONENTRY | выделить редактируемый текст при получении фокуса ввода |
| DIF_NOFOCUS | управляющий элемент не получает клавиатурный фокус ввода |
| Событие | Описание |
|---|---|
| DN_DRAWDLGITEM | начало отрисовки текстовой строки |
| DN_CTLCOLORDLGITEM | запрос цветовых атрибутов для отрисовки; Param2:
|
| DN_CONTROLINPUT | нажали клавиатурную клавишу или кликнули клавишей мыши |
| DN_EDITCHANGE | текст изменён |
| DN_KILLFOCUS | элемент потерял фокус (при условии, что не используется флаг DIF_NOFOCUS) |
| DN_GOTFOCUS | элемент получил фокус (при условии, что не используется флаг DIF_NOFOCUS) |
Элемент DI_PSWEDIT позволяет только вставлять текст в поле редактирования. Копирование текста в буфер обмена (Ctrl+Ins или Ctrl+C) для данного элемента не поддерживаются.