DI_PSWEDIT

Элемент диалога DI_PSWEDIT описывает поле ввода пароля - то же, что и элемент DI_EDIT, но вводимый текст на экране отрисовывается символами '*'.
struct FarDialogItem
{
  int Type          = DI_PSWEDIT
  int X1            = X1
  int Y1            = Y
  int X2            = X2
  int Y2            = Y (равен значению Y1)
  int Focus         = Focus
  int Selected      = 0
  DWORD Flags       = Flags
  int DefaultButton = DefaultButton
  char Data[512]    = редактируемый текст
};

Внимание! Внимание!

Focus

Определяет имеет ли поле ввода клавиатурный фокус ввода.

Флаги

Для элемента DI_PSWEDIT имеют значения следующие флаги:
ФлагОписание
DIF_DISABLE Элемент является недоступным.
DIF_READONLY Переводит строки редактирования в состояние "только для чтения"
DIF_SELECTONENTRY Выделить редактируемый текст при получении фокуса ввода.
DIF_NOFOCUS Управляющий элемент не получает клавиатурный фокус ввода.

События

СобытиеОписание
DN_DRAWDLGITEM начало отрисовки текстовой строки
DN_CTLCOLORDLGITEM запрос цветовых атрибутов для отрисовки; Param2:
LoWord LoByte - редактируемый текст
                (COL_WARNDIALOGEDIT или COL_DIALOGEDIT)
LoWord HiByte - выделенный текст
                (COL_DIALOGEDITSELECTED)
HiWord LoByte - неизмененный текст (UnChanched)
                (COL_DIALOGEDITUNCHANGED)
HiWord HiByte - 0 (не используется)
DN_KEY нажали клавишу.
DN_MOUSECLICK "кликнули" клавишей мыши
DN_EDITCHANGE текст изменен
DN_KILLFOCUS элемент потерял фокус (при условии, что не используется флаг DIF_NOFOCUS).
DN_GOTFOCUS элемент получил фокус (при условии, что не используется флаг DIF_NOFOCUS).

Замечания

Элемент DI_PSWEDIT позволяет только вставлять текст в поле редактирования. Копирование текста в буфер обмена (Ctrl-Ins или Ctrl-C) для данного элемента не поддерживаются.

Смотрите также:
DI_EDIT, DI_FIXEDIT, FarDialogItem