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

Вниз

маска для вводимого в EditBox текста   Найти похожие ветки 

 
tradakad ©   (2005-01-26 10:39) [0]

есть EditBox

  hMsgEditConf:=CreateWindowEx(
   WS_EX_CLIENTEDGE,
   "Edit",
   "",
   WS_VISIBLE or WS_CHILD or ES_LEFT or ES_AUTOHSCROLL,
   10,85,280,20,Handle,0,hInst,nil
  );
как можно сдеалть чтобы вводимый текст отображался каким нибудь символом (например *) как в окна ввода паролей?


 
SammIk ©   (2005-01-26 12:44) [1]

ES_PASSWORD = 00000020h
Стиль такой, будет * отобразать.
Можно сделать саб классинг, тогда можно любым символом затенить.
Если много таких контролов, то лучше суперклассинг.
Саб классинг:
LONG SetWindowLong(
 HWND hWnd,       // handle to window
 int nIndex,      // offset of value to set
 LONG dwNewLong   // new value
);
SetWindowLong(hEdit,GWL_WNDPROC,@NewEditProc);
Вернет адрес старый адрес процедуры.
Процедура имеет такойже прототип как и обычное окно.
Обробатываешь нужное сообщение
После результату присваеваешь 0.
If msg=WM_CHAR
Оброботка
result:=0;
else
CallWindowProc(OldEditProk,hEdit(Хендл),Msg,wParam,lParam)

Как видешь в любом другом случае нуно вызвать CallWindowProc
ПЕрвый параметр это адрес старой процедуры, остольное тоже что
приходит в оконную процедуру.


 
tradakad ©   (2005-01-26 14:18) [2]

вот моя ошибка . так я и сделал но обрабатывал WM_KEYDOWN/ спасибо большое!



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

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

Наверх




Память: 0.47 MB
Время: 0.052 c
14-1108486849
ShadowDev
2005-02-15 20:00
2005.03.06
10WMZ за кейлоггер


1-1108972798
Zhekson
2005-02-21 10:59
2005.03.06
Борланд Паскаль 7 и Мьютекс


3-1107514881
Yerbol
2005-02-04 14:01
2005.03.06
как быстро открыть БД из 130000 зап с небольшой потерей памяти


3-1107264156
Dima_69
2005-02-01 16:22
2005.03.06
Какие файлы нужны для работы с базами данных на голой винде.


14-1108116536
DelphiNew
2005-02-11 13:08
2005.03.06
Оптимизация кода