Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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 на этих компьютерах?
Если нормально, то следует поискать причины в твоем компоненте


Наверх

Титульная страница Поиск, карта сайта Написать письмо