![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
PasswordChar для TEdit [D5, WinXP]
harisma © (2009-09-10 19:27:00)Есть такая пропертя у TEdit, как PasswordChar. Если ее значение отличное от #0, то текст в этом контроле будет отображаться этим символом. Собственно все вышесказанное - не секрет для программистов.
Мой компонент напрямую порожден от TCustomEdit.
Согласно исходникам, при установке PasswordChar генерируется и отсылается сообщение EM_SETPASSWORDCHAR (метод SetPasswordChar)
Проблема в том, что на некоторых компьютерах почему-то не происходит замены введенного текста в эдите на символы PasswordChar. Может кто знает причину?
Второй момент - я нигде не нашел исходника, как обрабатывается это сообщение и каким образом меняется отображение введенного текста на символы пароля.
Игорь Шевченко (2009-09-11 19:54:00) [1]телепатов ищешь ? Не то место, попробуй в другом
harisma (2009-09-11 15:09:00) [2]
> Компонент шлет ему это сообщение при установке свойства.
Я это понял. Просто было интересно, как оно сделано и может просто переписать у себя.
Просто если бы был косяк в самом наследованном компоненте, то не отображалось бы ни на одной машине, а так только на нескольких - странно все это :(
clickmaker (2009-09-11 14:50:00) [3]а зачем нужен свой обработчик?
к тому же его обрабатывает не компонент, а оконная процедура виндозного контрола. Компонент шлет ему это сообщение при установке свойства.
harisma (2009-09-11 14:37:00) [4]А можно как-то по другому написать обработчик сообщения EM_SETPASSWORDCHAR в своем компоненте? Но для этого надо знать, как оно в недрах винды обрабатывается :(
clickmaker (2009-09-11 14:12:00) [5]> как обрабатывается это сообщение и каким образом меняется
> отображение введенного текста на символы пароля
это уже в недрах виндозного контрола класса Edit.
Скорей всего, косяк именно в унаследованном компоненте
harisma (2009-09-11 14:09:00) [6]Обычный дельфийский TEdit работает нормально.
Какая может быть причина в моем компоненте, если именно эту пропертю я не трогал и она напрямую наследуется от предка?
Terminal Name (2009-09-10 19:39:00) [7]> Мой компонентнапрямую порожден от TCustomEdit
> Проблема в том, что на некоторыхкомпьютерах ...
А как себя ведет стандарный TEdit на этих компьютерах?
Если нормально, то следует поискать причины в твоем компоненте