Среда: Visual Studio 2008, пакет дополнительных компонентов Visual Studio, приложение MFC Dialog, Windows XP, новые общие элементы управления.
У меня проблема с элементом управления списком, который находится на вкладке.
Чтобы воспроизвести проблему, просто создайте диалоговое приложение. Поместите элемент управления вкладки в этом диалоговом окне, затем поместите элемент управления списком на этот элемент управления вкладками. Вам не нужно добавлять код в проект. Просто построй и беги. Установите фокус на представление списка, а затем либо сверните диалоговое окно, либо откройте перед ним другое окно.
Теперь верните диалоговое окно на передний план, список не будет отображаться правильно.
Одна вещь, которую я попробовал, это обработать событие set focus для элемента управления list, но оставил его с пустым телом метода, т.е. ...
void CMyListControl::OnSetFocus(CWnd* window)
{
// Default();
}
Тогда проблема перерисовки исчезнет, однако теперь вы не можете выбирать элементы в списке. Раскомментирование вызова по умолчанию заставляет проблему вернуться.
Если я уберу список со вкладки, проблема исчезнет. Если я установлю фокус на другой элемент управления на вкладке или в диалоговом окне, проблема исчезнет. Это странно.
На самом деле, если вы внимательно посмотрите, то увидите, что список нарисован сам, а затем скрыт элементом управления вкладками.