c - 创建 ListView 时的奇怪效果

标签 c listview winapi

我在创建 Listview 时注意到一个奇怪的效果。

当我创建一个 ListView 而没有同时创建一个 Button 时,ListView 中的选定项有一个虚线边框。但是,当我还创建一个 Button 时,ListView 所选项目不再有虚线边框。只有当我有一个启用公共(public)控件 6 的 list 文件时才会发生这种情况:

enter image description here

这是我用来创建 Window 和 ListView 以及 Button 的代码:

// Create Window
HWND hWnd = CreateWindowEx(0, "WinClass", "My Window", WS_OVERLAPPEDWINDOW, 261, 172, 394, 284, NULL, NULL, hInstance, NULL);

// Create ListView
HWND hListView = CreateWindowEx(0, WC_LISTVIEW, "", WS_CHILD | LVS_REPORT | WS_VISIBLE, 0, 0, 232, 190, hWnd, 0, GetModuleHandle(NULL), NULL);

// Create Button
HWND hButtonRefresh = CreateWindowEx(NULL, "BUTTON", "OK", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON, 10, 200, 110, 25, hWnd, NULL, GetModuleHandle(NULL), NULL);

注意:我对这种效果没有任何问题,我只是想了解为什么会这样!

最佳答案

只是因为按钮有焦点而 ListView 失去了它,点击 ListView ,点应该重新出现。

关于c - 创建 ListView 时的奇怪效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30979386/

相关文章:

android - ListView/GridView 中按下项目的默认背景颜色

android - 如何通过长按项目在 ListView 中执行项目拖放

javascript - 如何在android中单击时将选定的行图标替换为列表项上的另一个图标

c# - 如何获取在 C# 中使用给定文件名的 PID?

包含 math.h 和链接 libm 时的 C sinhl undefined reference

c - 如何将 4 字节 "string"转换为 uint32_t?

c - 如何从汇编中调用用 C 编写的代码?

c - 删除工具栏控件中的字符串?

c++ - 用户注销/登录后创建托盘图标时出现罕见错误

c - 我将哪个地址系列用于 src IPv4 和 dest IPv6?