当前位置:  开发笔记 > 编程语言 > 正文

List-View控件忽略扩展样式

如何解决《List-View控件忽略扩展样式》经验,为你挑选了1个好方法。

我用该CreateWindowEx()函数创建了一个列表视图控件.我在创建期间指定的扩展样式不适用于列表视图控件.

这是我的代码:

INITCOMMONCONTROLSEX iccx;
iccx.dwSize = sizeof(INITCOMMONCONTROLSEX);
iccx.dwICC  = ICC_LISTVIEW_CLASSES;
InitCommonControlsEx(&iccx);

hWnd = CreateWindowExW( LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES,    // Extended Styles
                        WC_LISTVIEWW,                               // Class Name
                        L"",                                        // Title
                        LVS_REPORT | WS_VISIBLE | WS_CHILD,         // Styles
                         10,    // x
                        320,    // y
                        480,    // w
                        200,    // h
                        hWndParent,
                        NULL,
                        hInstance,
                        NULL);

向其添加一些内容后,列表视图的外观如下图所示.

我的列表视图的外观

如您所见,我既不能选择完整行,也不会显示网格线.

我错过了什么?如何使扩展样式显示效果?



1> hkBattousai..:

对于列表视图控件,通过将LVM_SETEXTENDEDLISTVIEWSTYLE消息发送到控制窗口来显式设置扩展样式.这在文档中说明:

扩展列表 - 视图样式

使用LVM_SETEXTENDEDLISTVIEWSTYLE消息或ListView_SetExtendedListViewStyle或ListView_SetExtendedListViewStyleEx宏之一来使用这些扩展的列表视图控件样式.

例如:

SendMessageW(   hWnd,
                LVM_SETEXTENDEDLISTVIEWSTYLE,
                LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES,
                LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);

扩展样式仅在发送此消息后适用.

成功创造

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有