gpt4 book ai didi

c++ - ListView 控件忽略扩展样式

转载 作者:太空狗 更新时间:2023-10-29 23:51:58 25 4
gpt4 key购买 nike

我使用 CreateWindowEx() 函数创建了一个 ListView 控件。我在创建时指定的扩展样式不适用于 ListView 控件。

这是我的代码:

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);

添加一些内容后, ListView 的外观如下图所示。

appearance of my list-view

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

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

最佳答案

对于 ListView 控件,扩展样式通过发送 LVM_SETEXTENDEDLISTVIEWSTYLE 显式设置消息到控制窗口。这是在文档中说明的:

Extended List-View Styles

Use the LVM_SETEXTENDEDLISTVIEWSTYLE message or one of the ListView_SetExtendedListViewStyle or ListView_SetExtendedListViewStyleEx macros to employ these extended list-view control styles.

例如:

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

扩展样式仅在发送此消息后应用。

successfully creat

关于c++ - ListView 控件忽略扩展样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18031987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com