Правильно ли LVS_EX_DOUBLEBUFFER не удваивает буфер при работе в удаленном сеансе? - PullRequest

1 Ответ

5 голосов
/ 07 января 2011

ListView не настраивается автоматически, независимо от того, работаете ли вы удаленно или локально. Он учитывает значение флагов расширенного стиля, которые вы установили при создании элемента управления; если вы установите LVS_EX_DOUBLEBUFFER, то дисплей будет иметь двойную буферизацию, а если нет, то не будет. Я уверен, что Рэймонд Чен согласится, что любое другое поведение будет ошибкой.

Вы можете изменить состояние флага в любое время с помощью LVM_SETEXTENDEDLISTVIEWSTYLE:

SendMessage(hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, LVS_EX_DOUBLEBUFFER, isRemote ? 0 : LVS_EX_DOUBLEBUFFER);

В следующей статье после вашей ссылки показано, как получать уведомления при изменении отображения между локальным и удаленным: http://blogs.msdn.com/b/oldnewthing/archive/2006/01/04/509194.aspx

...