Вкладка Control draw на клавише Enter
Итак, у меня есть проблема, которая, как я полагаю, была исследована ранее, но я не могу ничего найти по ней. Я создал собственный класс управления вкладками, который полностью настраивается и отображает / скрывает объект CDialog, когда пользователь нажимает на разные вкладки. Для этого я перегрузил метод рисования (я не использовал функцию рисования пользователем). Кажется, все работает нормально, за исключением одной проблемы, проблема у меня заключается в том, что когда пользователь выбирает один из элементов управления в диалоговом окне, которое отображается в данный момент (например, CEdit), и нажимает клавишу ввода, tabCtrl получит WMPAINT сообщение, которое заставляет тело tabCtrl быть нарисованным по текущему диалогу. Чтобы обойти эту проблему, я изменил метод стирания фона tabCtrl, чтобы показать текущий диалог, который исправляет диалог от закрашивания, но я получаю мерцание в элементе управления каждый раз, когда клавиша ввода нажимается или удерживается из-за рисования / показа комбинация диалогов происходит. Мне было интересно, если кто-то имел дело с этой проблемой раньше и имел решение или какие-либо идеи. Я не смог придумать ничего, что работает. Извините за отсутствие кода, у меня нет разрешения от владельца, чтобы поделиться им.
1 ответ
Возможно, вам поможет двойная буферизация. Пожалуйста, Google это - есть много примеров. Используйте эту статью в качестве отправной точки