Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

Password Char (не *)

Кто знает как сделать чтобы в обычном TEdit'е отображался при вводе
пароля не * (звёздочка) а черный жирный кружок?

Такой кружок есть и в Windows'овском (XP) окне при Подключении к
Интернету.

Ответить   Sun, 19 Mar 2006 01:47:24 +0200 (#528694)

 

Ответы:

Здравствуйте !

Ну да, оно там есть.
Вот что по этому поводу в MSDN:

The EM_SETPASSWORDCHAR message sets or removes the password character for an
edit control. When a password character is set, that character is displayed
in place of the characters typed by the user. You can send this message to
either an edit control or a rich edit control.
...
Windows XP: If an edit control is from user32.dll, an asterisk is the
default character for the ES_PASSWORD style. However, if an edit control is
from comctl32.dll version 6, _a_black_circle_ is the default character for
the ES_PASSWORD style. Note that comctl32.dll version 6 is not
redistributable but is included with Microsoft Windows XP or later. To use
comctl32.dll version 6, specify it in a manifest.

То есть, такие кружки будут у едита в XP, если сделать его пассвордным и
если у проги
будет манифест. Если _не_в_XP_, то, думаю, можно просто такой кружок
юникодным символом
задать (это либо символ с кодом 0x2022, либо 0x25CF). Если используется
просто Edit (TEdit,
вроде, оно и есть ?) то приложение должно быть юникодным. Если приложение не
юникодное,
то можно использовать однострочный RichEdit - он такие символы точто
отобразит.
Только RichEdit должен быть версии 2.0 и выше (из RICHED20.DLL).

Ответить   Sun, 19 Mar 2006 14:33:31 +0300 (#528774)