DN_EDITCHANGE оповещает обработчик об изменении состояния редактируемого элемента диалога - например, ввели символ.
TRUE - "подтверждаю изменения"
FALSE - "изменения в окне редактирования не принимаются"
| Элемент | Описание |
|---|---|
| DI_COMBOBOX | комбинированный список |
| DI_EDIT | строка ввода |
| DI_FIXEDIT | поле ввода фиксированного размера |
| DI_PSWEDIT | поле ввода пароля |
...
// отобразить копию введённых данных только для чисел
if (Msg == DN_EDITCHANGE && Param1 == 2)
{
FarDialogItem *Item=(FarDialogItem *)Param2;
int Len=wcslen(Item->PtrData);
for(int I=0; I < Len; ++I)
if(!isdigit(Item->PtrData[I]))
break;
if(I == Len)
return FALSE;
Info.SendDlgMessage(hDlg, DM_SETTEXTPTR, 3, Item->PtrData);
return TRUE;
}
...