Latest post of the previous page:
Это правильно … Обнаружились сложности (неудобство) в использовании DN_LISTCHANGE вместо DN_INPUT.
Конкретно: после прихода DN_LISTCHANGE в Param.Param2 - правильное значение (новый индекс), а в Object.CurPos - предыдущий. Ну и, соответственно, Menu.Value - старое значение. Хотя Event = DE_DLGPROCEND (т.е., по идее, хендлер вызывается ПОСЛЕ стандартной обработки). Я понимаю, что обходится заменой Menu.Value на Menu.GetValue.
Ещё сложность с первым вхождением. Как оказалось, при DN_INITDIALOG Menu.GetValue(1) возвращает пустую строку. Т.е. МЕНЮ, видимо, ещё не проинициализировано. Так что пока (пока либо сам не придумаю, либо сообщество не подскажет) воздержусь от использования DN_LISTCHANGE …