663

Проблема с EditBox

Уважаемые, помогите советом!Как вы знаете, в Win32 существует специальный класс окон "Edit". Экземпляры данного класса являются дочерними ("child") по отношению к окну, на котором они размещаются. Также все видели так называемые "Password"-Edit'ы, в них вводимые символы отображаются определённым символом, обычно "*".Проблема: Как получить текст скрытый за символами **...*.Эта проблема не возникает в ОС Win95-98, т.к. можно послать Edit'у сообщение WM_GETTEXT и получить скрытый текст. В Windows 2000 это сообщение игнорируется (но для Edit'а который нормально отображает вводимый текст это сообщение обрабатывается правильно). Я покопался в MSDN->Platform SDK: User Interface и нашёл специальные сообщения, предназначенные только для Edit'ов. Аналогом WM_GETTEXT является сообщение EM_GETLINE (возвращает указанную через индекс строку текста). Ситуация такая же - Edit, в котором отображается вводимый текст обрабатывает его правильно - возвращает своё содержимое. Edit, в который вводится "пароль" ничего не возвращает. Ещё одно ограничение - для этого Edit'а (как и для любого элемента окна включая его самого) нельзя поменять адрес процедуры обработки сообщений через SetWindowsLong, это ограничение, налагаемое операционной системой Windows 2000 на данную функцию.Если у кого-либо из вас были похожие проблемы буду благодарен если поделитесь методами решения.
0