Приветствую всех.
Недавно столкнулся с необходимостью использования одного обработчика сообщений для нескольких (16 штук) EditControl-ов. Нашел в MSDN некий ON_CONTROL_RANGE, такого вида: ON_CONTROL_RANGE(Event, IDC-first, IDC-last, memberFxn). Указываю ему в качестве диапазона первый и последний свои EditControl-ы, указываю тип сообщения ON_CHANGE (пробовал и ON_UPDATE), помещаю эту строку ВНЕ описания //{{AFX_MSG_MAP как того просят в MSDN-е... Ничего. Т.е. когда я изменяю значения в контролах сообщение не перехватывается...Зато если изменяется значение ListBox-a, IDC которого вообще нет в указанном мною диапазоне, сообщение перехватывается как милое...Мыслей по этому поводу больше нет...
Заранее благодарен за внимание.
Re: Один обработчик сообщений для нескольких однотипых элеме
Здравствуйте, LinXor, Вы писали:
LX>Приветствую всех. LX>Недавно столкнулся с необходимостью использования одного обработчика сообщений для нескольких (16 штук) EditControl-ов. Нашел в MSDN некий ON_CONTROL_RANGE, такого вида: ON_CONTROL_RANGE(Event, IDC-first, IDC-last, memberFxn). Указываю ему в качестве диапазона первый и последний свои EditControl-ы, указываю тип сообщения ON_CHANGE (пробовал и ON_UPDATE), помещаю эту строку ВНЕ описания //{{AFX_MSG_MAP как того просят в MSDN-е... Ничего. Т.е. когда я изменяю значения в контролах сообщение не перехватывается...Зато если изменяется значение ListBox-a, IDC которого вообще нет в указанном мною диапазоне, сообщение перехватывается как милое...Мыслей по этому поводу больше нет... LX>Заранее благодарен за внимание.
ON_CONTROL_RAGE требует чтоб идентификаторы шли по порядку (в смысле их значения)
Здравствуйте, LinXor, Вы писали:
LX>Приветствую всех. LX>Недавно столкнулся с необходимостью использования одного обработчика сообщений для нескольких (16 штук) EditControl-ов. Нашел в MSDN некий ON_CONTROL_RANGE, такого вида: ON_CONTROL_RANGE(Event, IDC-first, IDC-last, memberFxn). Указываю ему в качестве диапазона первый и последний свои EditControl-ы, указываю тип сообщения ON_CHANGE (пробовал и ON_UPDATE), помещаю эту строку ВНЕ описания //{{AFX_MSG_MAP как того просят в MSDN-е... Ничего. Т.е. когда я изменяю значения в контролах сообщение не перехватывается...Зато если изменяется значение ListBox-a, IDC которого вообще нет в указанном мною диапазоне, сообщение перехватывается как милое...Мыслей по этому поводу больше нет... LX>Заранее благодарен за внимание.
У меня работает так
ON_CONTROL_RANGE(EN_CHANGE, IDC_EDIT1, IDC_EDIT3, MyChangeEdit)
Посмотри что бы IDC-first и IDC-last были нормальными, т.е. что бы в этот промежуток не попадали другие контролы, и что бы били по порядку соответсвенно. Можешь сам задать, например начиная с 1200 и увеличивая на 1.
Re[2]: Один обработчик сообщений для нескольких однотипых эл