Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.12.04;
Скачать: CL | DM;

Вниз

PasswordChar для TEdit   Найти похожие ветки 

 
harisma ©   (2009-09-10 19:27) [0]

Есть такая пропертя у TEdit, как PasswordChar. Если ее значение отличное от #0, то текст в этом контроле будет отображаться этим символом. Собственно все вышесказанное - не секрет для программистов.

Мой компонент напрямую порожден от TCustomEdit.
Согласно исходникам, при установке PasswordChar генерируется и отсылается сообщение EM_SETPASSWORDCHAR (метод SetPasswordChar)

Проблема в том, что на некоторых компьютерах почему-то не происходит замены введенного текста в эдите на символы PasswordChar. Может кто знает причину?

Второй момент - я нигде не нашел исходника, как обрабатывается это сообщение и каким образом меняется отображение введенного текста на символы пароля.


 
Terminal Name   (2009-09-10 19:39) [1]

> Мой компонент напрямую порожден от TCustomEdit


> Проблема в том, что на некоторых компьютерах ...

А как себя ведет стандарный TEdit на этих компьютерах?
Если нормально, то следует поискать причины в твоем компоненте


 
harisma ©   (2009-09-11 14:09) [2]

Обычный дельфийский TEdit работает нормально.
Какая может быть причина в моем компоненте, если именно эту пропертю я не трогал и она напрямую наследуется от предка?


 
clickmaker ©   (2009-09-11 14:12) [3]

> как обрабатывается это сообщение и каким образом меняется
> отображение введенного текста на символы пароля

это уже в недрах виндозного контрола класса Edit.
Скорей всего, косяк именно в унаследованном компоненте


 
harisma ©   (2009-09-11 14:37) [4]

А можно как-то по другому написать обработчик сообщения EM_SETPASSWORDCHAR в своем компоненте? Но для этого надо знать, как оно в недрах винды обрабатывается :(


 
clickmaker ©   (2009-09-11 14:50) [5]

а зачем нужен свой обработчик?
к тому же его обрабатывает не компонент, а оконная процедура виндозного контрола. Компонент шлет ему это сообщение при установке свойства.


 
harisma ©   (2009-09-11 15:09) [6]


> Компонент шлет ему это сообщение при установке свойства.

Я это понял. Просто было интересно, как оно сделано и может просто переписать у себя.

Просто если бы был косяк в самом наследованном компоненте, то не отображалось бы ни на одной машине, а так только на нескольких - странно все это :(


 
Игорь Шевченко ©   (2009-09-11 19:54) [7]

телепатов ищешь ? Не то место, попробуй в другом



Страницы: 1 вся ветка

Текущий архив: 2011.12.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.006 c
2-1313573372
K0nstantin
2011-08-17 13:29
2011.12.04
ClientDataSet1.ApplyUpdates()


15-1313471235
Xmen
2011-08-16 09:07
2011.12.04
Интерфейс не поддерживается.


2-1301388555
Максон
2011-03-29 12:49
2011.12.04
Stringgrid


6-1227641223
Michael
2008-11-25 22:27
2011.12.04
IdFTP - плавающие ошибки Socket Error # 10061 и 10054


15-1313166354
ПЛОВ
2011-08-12 20:25
2011.12.04
Автотестирование ПО - что почитать?