Форум: "WinAPI";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];
Внизмаска для вводимого в 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 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.05 c