阻止默认的东西(资源管理器风格)CListCtrl跳转到行行为

时间:2010-02-11 14:17:35

标签: visual-c++ mfc

我正在维护最初使用VS6编写的MFC / COM / ATL 45多个项目解决方案。我现在正在使用VS2008。 我正在查看一个列表控件(vanilla CListCtrl),它不像我们想象的那样。 通常在MFC列表控件中,您可以按一个键,(Q说)&选择将跳转到以'Q'开头的第一行(如Windows资源管理器)。有没有人知道为什么这可能不会发生? 样式/扩展样式设置与同一项目中的另一个控件相同,可以正常工作。  我是否必须发送自己的消息,或者是否有标志等控制该功能或什么?通常谷歌会提供答案,但这次我无法正确构建我的查询以提出相关信息。 这是CListCtrl的.rc文件中的一行,它不会跳转到按键上的一行:

 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

正如您所看到的,属性没有明显区别,那么程序代码会对它产生什么影响呢?

1 个答案:

答案 0 :(得分:0)

我现在已经意识到问题是什么(休息后回来) - CListCtrl匹配列ZERO(“标签”列,正如有些人认为的那样) - 这是一个隐藏列(在此特定列表控件)有时包含一个数字&有时候是空白的,所以当按下阿尔法键时,没有做任何事情。显而易见,真的 - 我为使问题听起来更加复杂而道歉;)