Я поддерживаю 45-странное проектное решение MFC / COM / ATL, изначально написанное на VS6. Я сейчас использую VS2008.
Я смотрю на элемент управления списком (vanilla CListCtrl), который не ведет себя так, как нам кажется.
Обычно в элементе управления списком MFC вы можете нажать клавишу (скажем, Q), и выбор перейдет к 1-й строке, начинающейся с 'Q' (как в Windows Explorer). У кого-нибудь есть идея, почему этого не может произойти?
Стили / Расширенные стили установлены так же, как и другой элемент управления в том же проекте, который работает нормально.
Должен ли я отправлять собственное сообщение, или есть флаг и т. Д., Который контролирует эту функцию или что? Обычно Google предоставил бы ответ, но я не смог правильно сформулировать свой запрос, чтобы получить соответствующую информацию на этот раз.
Вот строка из файла .rc для CListCtrl, которая не переходит на строку при нажатии клавиши:
CONTROL "List1",IDC_BAL_LIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP,0,73,493,230
А вот строка из того же файла .rc, показывающая элемент управления списком, который делает это:
CONTROL "List1",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP,1,38,501,219
Как видите, в свойствах нет очевидной разницы, так какой программный код повлияет на это?