Mark Danniel Ответов: 2

Вопрос об объединении элементов управления переключателями со списками в программировании MFC


Я не нашел, где я могу вставить некоторые фотографии на эту страницу вопросов проекта кода.Поэтому я бы описал этот вопрос описанием языка.

Я написал программу на основе диалогов MFC. В диалоговом окне есть область, которая не является основной, я поместил в эту область три элемента управления Radio Button и один элемент управления списком. Элемент управления списком использовался для отображения необходимых данных. Всего их три. виды данных, которые сохраняются в виде контейнера карты, одним словом, три карты. Каждая радиокнопка обозначает связанные с ней данные карты. Я хочу понимать, что элемент управления списком отображает соответствующие данные карты, как только я нажимаю соответствующий переключатель Управление кнопками. Между прочим, элемент управления списком показывает разные имена столбцов (столбцов) при нажатии одного элемента управления Radio Button. Данные изменяются или обновляются в реальном времени. Таким образом, мигание данных и мигание окна также являются проблемами.

Так есть ли лучшие способы реализовать эту цель?

Что я уже пробовал:

Я попробовал один способ.Но мигание данных и мигание окон-это немного серьезно.Скорость тоже замедляется .

Pascal-78

Вы пробовали метод LockWindowUpdate, чтобы избежать мигания окна? Это также может немного ускорить процесс (потому что вставка нового элемента в список не приведет к новой перерисовке).

Mark Danniel

Спасибо.Я попробую.

2 Ответов

Рейтинг:
2

Mark Danniel

Спасибо.Я посмотрю на это.

Рейтинг:
0

Jochen Arndt

Вы можете создать три элемента управления списком, где виден только активный, а остальные становятся невидимыми с помощью ShowWindow().

Затем скрытые списки все еще могут обновляться в фоновом режиме. Если вам необходимо изменить содержимое видимого списка и обновить несколько элементов, вы должны отключить перерисовку при изменении списка (CListCtrl::SetRedraw()).


Mark Danniel

Спасибо.Но у меня есть вопрос по поводу Вашего ответа.Я хочу использовать только одну область для отображения необходимых данных.После создания трех элементов управления списком, а затем как найти эти три элемента управления списком в одной области.Можете ли вы описать его в деталях ? Большое спасибо!

Jochen Arndt

Все они должны быть расположены в одном и том же положении. Невидимые не скроют других. Даже если бы они это сделали, самый верхний из них можно было бы выбрать, изменив Z-порядок.