У меня есть CListCtrl
в моем приложении MFC. Список необходимо обновлять, когда я получаю уведомление с сервера. Обновление списка работает довольно хорошо, когда уведомлений меньше, так как операций в списке меньше. Но в случае большой нагрузки, управление списком и, в свою очередь, приложение зависает.
Я знаю об обновлении элементов пользовательского интерфейса в отдельном потоке в случае массовых обновлений, но в этом случае у меня есть уведомления, которые могут приходить в любом порядке и в любом объеме, мне нужно обрабатывать таким образом, чтобы мой основной поток не получал заблокирован.
Если кто-то сталкивался с проблемой раньше, пожалуйста, предложите подход для этого случая.
CListCtrl
обычно используется для отображения списка элементов, из которых можно выбирать, что подразумевает небольшой довольно статичный список. Мне кажется, чтоCListCtrl
не подходит для того, чего вы пытаетесь достичь. Вместо этого я бы исследовал подходCScrollView
, который представляет собойCView
с дополнительными функциями для обработки полос прокрутки. Затем создайте список уведомлений, который обновляется по мере поступления уведомлений, и отображайте эти уведомления в видимой области. Другими словами, используйте подход, основанный на представлении документа, где документ представляет собой список уведомлений. - person Richard Chambers   schedule 03.07.2015