Здравствуйте, Мёртвый Даун, Вы писали:
МД>Как оказалось, еще понадобилось masked edit control. К моему удивлению такового нет в WinAPI.
Есть ES_NUMBER — edit, в который только целое неотрицательное число.
Есть специальный контрол для ввода IP-адресов (но только IPv4).
Вроде, всё на этом.
Вообще тренд сейчас таков:
дать пользователю вводить любые буквы и цифры,
но при выходе из edit (WM_KILLFOCUS либо вообще деактивация/закрытие top-level-parent окна) показывать Balloon Tooltip, почему именно пользователь дурак,
или показывать такой balloon tooltip по мере ввода.
Тогда пользователь может скопипастить любую ерунду, и уже в самом эдите её отредактировать, без дурацких ограничений вроде "сначала убери одну цифру, а потом вводи новую".
Тултип, в отличии от месседж босков не задалбывает, но при этом, в отличии от появляющейся статик лейбочки-"ты-не-прав", не занимает место на диалоге.
Показать его можно через
EM_SHOWBALLOONTIP.
Вот пример balloon у IPv6-эдитов (которые правопреемники IPv4 контролов):
И встроенный в ES_NUMBER эдит: